透明な領域を含むpngがあり、それをimageタグに設定します。
画像の不透明な部分の上にカーソルがある場合、どうすればカーソルを手に設定できますか?
ありがとう
透明な領域を含むpngがあり、それをimageタグに設定します。
画像の不透明な部分の上にカーソルがある場合、どうすればカーソルを手に設定できますか?
ありがとう
これを行うには、ビットマップ自体を確認する必要があります。WPFのヒットテストメカニズムでは、「透明な」ブラシでペイントされたピクセルは、非表示であってもクリック可能であると見なされます。これは通常は良いことですが、あなたがやろうとしていることの邪魔になります。.pngは透明なブラシでペイントするため、ヒットテストを行うと.png全体がペイントされたと見なされます。
MouseMove
イベントハンドラで行う必要があるのは次のとおりです。
HitTestResult
戻ってくるたびに、それがであるImage
かどうかを確認し、そうである場合は、透明なピクセルがマウスの下にあるかどうかを確認しますCursor
マウスの上にあるものに基づいて値を決定しますマウスが画像の透明なピクセルの上にあるかどうかを判断するには、次の手順に従います。
e.GetPosition(image)
)BitmapSource.CopyPixels
します(つまり、マウスが置かれている単一のピクセルのみ)