我有一个部分透明的PNG文件。 我希望能够点击透明区域并单击非透明区域。
EG。在该图像的透明区域下方是一个按钮。 单击此透明区域时,应单击该按钮。
我从下面的代码开始,但似乎无法让它工作:
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;
}
}
我也尝试过提高泡沫事件,但仍然没有运气。
任何想法?