部分的に透明な 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;
}
}
バブルイベントを発生させる実験もしましたが、まだうまくいきません。
何か案は ?