【问题标题】:Hit Test Image Content命中测试图像内容
【发布时间】:2011-02-13 05:41:04
【问题描述】:

我想点击测试图像的内容。为此,我创建了BitmapImage 并使用DrawingContext.DrawImage() 方法将其绘制在DrawingVisual 内。使用VisualTreeHelper.HitTest() 对其进行命中测试时,图像中的每个点都返回true,但是我希望白色像素返回false,非白色像素返回true。所以我使用FormatConvertedBitmapBitmapImage 转换为黑白像素格式,但它也不起作用。有什么建议么?如果我可以对ImageDrawing 对象进行测试会更好。

【问题讨论】:

    标签: wpf bitmap hittest


    【解决方案1】:

    两个建议:

    1. 尝试使用透明像素,而不是 白色
    2. 您可能需要实现自己的hit testing logic。为一个 视觉上这意味着覆盖 HitTestCore。

    【讨论】:

    • 透明像素不起作用。我尝试通过使用 VisualTreeHelper.GetDrawing(this) 获取 ImageDrawing 在 DrawingVisual 中进行自定义命中测试。我得到了 ImageDrawing 对象,但我找不到用它进行命中测试的方法。如果它是从几何而不是绘图派生的,那么我可以使用 FillContains(point) 方法,但它不是。
    猜你喜欢
    • 1970-01-01
    • 2014-02-26
    • 1970-01-01
    • 2014-11-01
    • 1970-01-01
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    • 2012-01-26
    相关资源
    最近更新 更多