2

部分的に透明な 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;
    }            
}

バブルイベントを発生させる実験もしましたが、まだうまくいきません。

何か案は ?

4

0 に答える 0