我有一个部分透明的 PNG 文件。我希望能够点击透明区域并点击非透明区域。
例如。在此图像的透明区域下方是一个按钮。当我单击这个透明区域时,应该单击该按钮。
我从下面的代码开始,但我似乎无法让它工作:
private void Image_PreviewMouseUp(object sender, MouseButtonEventArgs e)
{
Image image = (Image)sender;
Point mousePoint = e.GetPosition(image);
CroppedBitmap cb = new CroppedBitmap(image.Source as BitmapSource, new Int32Rect((int)mousePoint.X, (int)mousePoint.Y, 1, 1));
byte[] pixels = new byte[4];
cb.CopyPixels(pixels, 4, 0);
if (pixels[3] != 0)
{
image.IsHitTestVisible = true;
}
else
{
image.IsHitTestVisible = false;
e.Handled = true;
}
}
我也尝试过引发冒泡事件,但仍然没有运气。
有任何想法吗 ?