Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Adaptar un image a la forma de un bitmap (https://www.clubdelphi.com/foros/showthread.php?t=41709)

juanchi 23-03-2007 04:30:49

Adaptar un image a la forma de un bitmap
 
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 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, necesitas una máscara como esta.
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 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).


La franja horaria es GMT +2. Ahora son las 03:57:05.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi