PDA

Ver la Versión Completa : Adaptar un image a la forma de un bitmap


juanchi
23-03-2007, 04:30:49
Hola. Quisiera saber si hay una API o algo por el estilo para que el componente Image tome la forma de la imagen en cuestión:confused:


Saludos:)

egostar
23-03-2007, 04:48:30
Aqui (http://www.clubdelphi.com/foros/showpost.php?p=184576&postcount=2) Lepe da una explicación de hacer esto.

Salud OS.

Neftali [Germán.Estévez]
23-03-2007, 11:14:25
Los TImage tienen la propiedad Transparent; No se si te puede servir.
Tal vez deberías explicar mejor qué es lo que quieres hacer, por que la pregunta así tal y como está a mi me parece un poco sin sentido.

juanchi
23-03-2007, 17:17:46
Hola. Lo que quiero es que el componente Image se adapte a la forma de una imagen, es decir a su silueta, para que de este modo a hacer click en la imagen solo tome su silueta y no el tamaño del componente Image.



Saludos

Neftali [Germán.Estévez]
23-03-2007, 17:53:26
Ahora creo que sí he entandido lo que necesitas. No creo que se pueda modificar la forma del componente (como pides), lo que sí creo que se debe poder hacer es detectar cuando el Click está dentro o fuera de la silueta que tú necesitas (de ahí que te preguntara para qué lo querías).

La primera forma que se me ocurre (aunque seguro que debe haber más) es utilizar una máscara en B/N de tu Imagen. Cuando pulsas sobre tu imagen, te quedas con la X y la Y y buscas ese punto en la máscara. Segun el color que obtengas sabrás si está dentro o fuera de la silueta.

Es un sistema que se utiliza por ejemplo, al hacer cambiar la forma de los formularios para que se adapten su silueta a una imagen.
Por ejemplo, si tu imagen es esta (http://img480.imageshack.us/img480/7497/imagen1rj7.png), necesitas una máscara como esta (http://img340.imageshack.us/img340/976/mascarapt1.png).
En este ejemplo si pixel[X,Y] es negro estás dentro y si es Blanco es que estás fuera.

Espero haberme explicado.

Neftali [Germán.Estévez]
23-03-2007, 18:15:24
En el FTP he dejado un ejemplo de aplicación (http://www.terawiki.clubdelphi.com/?download=%5BEjemplo%5DDetectar_puntos_de_imagen_con_Mascara.zip) de cómo detectar los eventos del mouse sobre una imagen usando la máscara.
Verás que la imagen se puede arrastrar y soltar, pero sólo si seleccionas la parte "pintado" (que es la que se delimita por la máscara).