点击并打开半透明的System.Windows.Controls.Image(PNG)

时间:2012-09-13 12:04:57

标签: c# image click png transparent

我有一个部分透明的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;
    }            
}

我也尝试过提高泡沫事件,但仍然没有运气。

任何想法?

0 个答案:

没有答案