Tengo un png que contiene regiones transparentes y lo configuré en la etiqueta de imagen, pero ¿cómo puedo poner el cursor en una mano cuando está sobre una parte opaca de la imagen?WPF Cursor en una imagen parcialmente transparente
Gracias a Tony
Tengo un png que contiene regiones transparentes y lo configuré en la etiqueta de imagen, pero ¿cómo puedo poner el cursor en una mano cuando está sobre una parte opaca de la imagen?WPF Cursor en una imagen parcialmente transparente
Gracias a Tony
Para hacer esto usted tendrá que buscar en el propio mapa de bits. El mecanismo de prueba de impacto de WPF considera que cualquier píxel pintado con un pincel "transparente" aún puede clicarse aunque sea invisible. Esto normalmente es algo bueno, pero se interpone en el camino de lo que estás tratando de hacer. Como un .png pinta con el pincel transparente, todo el .png se considera como pintado cuando se realiza una prueba de impacto.
Lo que hay que hacer en el controlador de eventos MouseMove
es:
HitTestResult
vuelvas, comprobar para ver si se trata de una Image
y si es así, si un píxel transparente se encuentra bajo el ratónCursor
basado en lo que el ratón está sobrePara determinar si un ratón está sobre un píxel transparente de una imagen:
e.GetPosition(image)
)BitmapSource.CopyPixels
para copiar una recta de 1 píxel ngle en una matriz (es decir. sólo el único píxel el ratón está sobre)
Esto es más o menos lo que hice y funciona muy bien. – TWith2Sugars