Png图片的透明部分穿透测试

简介: 原文:Png图片的透明部分穿透测试        private void Window_MouseMove(object sender, MouseEventArgs e){ NavBtnList.
原文: Png图片的透明部分穿透测试

     
       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 > 0) { for (int k = 0; 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(0, 0, element.ActualWidth, element.ActualHeight)); context.Close(); } //dpi可以自己设定 // 获取dpi方法:PresentationSource.FromVisual(this).CompositionTarget.TransformToDevice RenderTargetBitmap bitmap = new RenderTargetBitmap((int)element.ActualWidth, (int)element.ActualHeight, 96, 96, 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(); }
}
 1         //鼠标按下获得所有IconBtnFrame 存储在NavBtnList里
 2         List<IconBtn> NavBtnList = new List<IconBtn>();
 3 
 4         public HitTestFilterBehavior HitFilter(DependencyObject dObject)
 5         {
 6             if (dObject is IconBtn)
 7             {
 8                 NavBtnList.Add(dObject as IconBtn);
 9             }
10             return HitTestFilterBehavior.Continue;
11         }
12 
13         public HitTestResultBehavior HitResult(HitTestResult result)
14         {
15             return HitTestResultBehavior.Continue;
16         }

 

目录
相关文章
|
7月前
|
算法
m基于OFDM+QPSK和LDPC编译码以及MMSE信道估计的无线图像传输matlab仿真,输出误码率,并用图片进行测试
MATLAB2022a仿真实现了无线图像传输的算法,包括OFDM、QPSK调制、LDPC编码和MMSE信道估计。OFDM抗频率选择性衰落,QPSK用相位表示二进制,LDPC码用于前向纠错,MMSE估计信道响应。算法流程涉及编码、调制、信道估计、均衡、解码和图像重建。MATLAB代码展示了从串行数据到OFDM信号的生成,经过信道模型、噪声添加,再到接收端的信道估计和解码过程,最终计算误码率。
84 1
|
5月前
测试语雀图片嵌入表格(不用通过)
测试语雀图片嵌入表格(不用通过)
|
7月前
|
前端开发 PHP 对象存储
如何用Postman测试文件或图片上传
本文介绍了在某些小项目中,如何使用传统方式将文件上传到与应用程序同一服务器上的方法,而不是使用大平台的对象存储。
1334 3
|
机器学习/深度学习 算法
m基于OFDM+QPSK和DNN深度学习信道估计的无线图像传输matlab仿真,输出误码率曲线,并用实际图片进行测试
m基于OFDM+QPSK和DNN深度学习信道估计的无线图像传输matlab仿真,输出误码率曲线,并用实际图片进行测试
373 0
|
7月前
|
搜索推荐 Python
自动生成测试数据—图片
自动生成测试数据—图片
自动生成测试数据—图片
|
7月前
|
资源调度 算法
m基于OFDM+QPSK和LDPC编译码以及LS信道估计的无线图像传输matlab仿真,输出误码率,并用图片进行测试
m基于OFDM+QPSK和LDPC编译码以及LS信道估计的无线图像传输matlab仿真,输出误码率,并用图片进行测试
78 2
|
搜索推荐 Python
自动生成测试数据之 图片篇
大家好,我是阿萨。测试过程中经常用到需要测试图片的地方。每次找不同的图片费时费力。所以就萌生了自己造测试数据的想法,因为最近一直用python 就在网上查看了python生成随机图片的例子。 先讲一个失败的例子。
260 0
自动生成测试数据之 图片篇
|
前端开发 JavaScript 小程序
【‘极端’测试提的问题】输入栏填入表情图片需要进行异常处理
【‘极端’测试提的问题】输入栏填入表情图片需要进行异常处理
164 0
【‘极端’测试提的问题】输入栏填入表情图片需要进行异常处理
测试通过的C代码:平台无关的RGB保存为BMP格式的图片
测试通过的C代码:平台无关的RGB保存为BMP格式的图片
111 0

热门文章

最新文章