private void Window_MouseMove(object sender, MouseEventArgs e)
{
NavBtnList.Clear();
Point mouseP = e.GetPosition(this);
VisualTreeHelper.HitTest(this, new HitTestFilterCallback(HitFilter),
new HitTestResultCallback(HitResult), new PointHitTestParameters(mouseP)); if (NavBtnList.Count > )
{
for (int k = ; k < NavBtnList.Count; k++)
{
IconBtn element = NavBtnList[k] as IconBtn; DrawingVisual drawingVisual = new DrawingVisual();
using (DrawingContext context = drawingVisual.RenderOpen())
{
VisualBrush brush = new VisualBrush(element) { Stretch = Stretch.None };
context.DrawRectangle(brush, null,
new Rect(, , element.ActualWidth, element.ActualHeight));
context.Close();
} //dpi可以自己设定
// 获取dpi方法:PresentationSource.FromVisual(this).CompositionTarget.TransformToDevice
RenderTargetBitmap bitmap = new RenderTargetBitmap((int)element.ActualWidth,
(int)element.ActualHeight, , , PixelFormats.Pbgra32);
bitmap.Render(drawingVisual); Point p = this.TranslatePoint(mouseP, element); //全局坐标转为局部坐标point //获取鼠标下像素颜色值
var c = getImagePointColor((bitmap as BitmapSource), (int)p.X, (int)p.Y);
if (c != Convert16ToColor("#00000000"))
{
if (element.IsEnabled)
{
}
break; }
bitmap.Clear();
}
}
         //鼠标按下获得所有IconBtnFrame 存储在NavBtnList里
List<IconBtn> NavBtnList = new List<IconBtn>(); public HitTestFilterBehavior HitFilter(DependencyObject dObject)
{
if (dObject is IconBtn)
{
NavBtnList.Add(dObject as IconBtn);
}
return HitTestFilterBehavior.Continue;
} public HitTestResultBehavior HitResult(HitTestResult result)
{
return HitTestResultBehavior.Continue;
}

Png图片的透明部分穿透测试的更多相关文章

  1. ie6下:png图片不透明 和 背景图片为png的节点的内部标签单击事件不响应

    1.png图片不透明 少量图片时:使用滤镜: _background:none; _filter:prodig:DXImageTransform.Microsoft.AlphaImageLoader( ...

  2. Windows操作 - Photoshop为图片添加透明立体水印

    原文地址:http://design.yesky.com/photoshop/252/2427752.shtml 本文我们介绍用Photoshop为图片添加透明立体水印的方法和技巧. 原图: 打开原图 ...

  3. 解决全站ie6下PNG图片不透明问题只要几行代码

    解决全站ie6下PNG图片不透明问题只要复制下面这几行代码粘贴在你的文档最底部,需要用到的包DD_belatedPNG_0.0.8a.js自己网上下载吧 代码走起 /*在文档底部加入以下代码*/ &l ...

  4. CAGradientLayer实现图片渐变透明效果

    CAGradientLayer实现图片渐变透明效果 要实现的效果如下: 源码: // // RootViewController.m // CAGradientLayer // // Copyrigh ...

  5. 关于ie6 下背景图片不透明以及Img不透明

    ie6 下背景图片不透明的方法,加上下面的js即可解决 //解决IE6下图片不透明 function correctPNG() // correctly handle PNG transparency ...

  6. ps快速将白底图片变为透明图片

    方法一: 如果图层有锁图标,则要点击它,然它消失.然后选中魔棒工具,然后点击图片上要透明的区域,按下backspace键即可. 方法二: 转载自:https://blog.csdn.net/sunyi ...

  7. 用shader使图片背景透明

    转自:http://blog.csdn.net/dawn_moon/article/details/8631783 好吧,终于抽时间写这篇文章了. 手头上有很多人物行走图,技能特效图等,但这些图都有个 ...

  8. 【转】cocos2d-x游戏开发(十四)用shader使图片背景透明

    转自:http://blog.csdn.net/dawn_moon/article/details/8631783 好吧,终于抽时间写这篇文章了. 手头上有很多人物行走图,技能特效图等,但这些图都有个 ...

  9. Android 设置按钮背景透明与半透明_图片背景透明

    Button或者ImageButton的背景设为透明或者半透明 半透明<Button android:background="#e0000000" ... />  透明 ...

随机推荐

  1. 【Android Studio使用教程4】Android Studio下载

    鉴于Android官网上下载很慢,Android Studio等已在网盘分享:Android Studio 网盘下载路径: windows:http://yunpan.cn/cfTszP2wrJxdD ...

  2. javaScript入门2--变量,作用域,内存

    变量类型:基本类型和引用类型 基本类型上节已经提到.基本类型的值是按值传递的,既改变形参的值不会影响实参 <html> <head> <meta charset=&quo ...

  3. mysql_DML_delete

    delete from 表名   删除表里的数据 可以配合where试用

  4. 非常棒的 「Sublime Text 配色/主题」与「编程字体」

    *标有 CT 的是配色 **主题中调用的字体和相配套的Sublime主程序图标可访问GitHub获取 Afterglow https://github.com/YabataDesign/aftergl ...

  5. JQuery multiselect的相关使用

    这两天做项目需要用到多选控件,于是选择了JQuery  multiselect控件,介绍一下常用的一些相关属性. 详细地址:http://davidstutz.github.io/bootstrap- ...

  6. Linux常用命令英文全称与中文解释Linux系统

    Linux常用命令英文全称与中文解释Linux系统(转)   Linux常用命令英文全称与中文解释Linux系统 man: Manual 意思是手册,可以用这个命令查询其他命令的用法. pwd:Pri ...

  7. Handler发送Message

    用Handler更新UI package activity.cyq.handlermessage; import android.content.res.Resources; import andro ...

  8. Android 直接拨打电话界面

    Android 拨号界面和直接拨打电话界面代码控制 //定义TAG为空 private static final String TAG = null; //定义Button的点击事件 tell.set ...

  9. asp.net运算符之逻辑运算符以及其他运算符

    逻辑(布尔型)运算符用于对boolean型的结果的表达式进行运算,运算的结果都是boolean型.其运算结果如下所示: 运算符 运算 例子 结果 & AND(与) false&true ...

  10. 关于自定义tabBar时修改系统自带tabBarItem属性造成的按钮顺序错乱的问题相关探究

      关于自定义tabBar时修改系统自带tabBarItem属性造成的按钮顺序错乱的问题相关探究 测试代码:http://git.oschina.net/Xiyue/TabBarItem_TEST 简 ...