FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Cambiar brillo y color de una imagen
Esta funcion permite tratar de forma independiente cada canal de color de una imagen, esto permite cambiar el color de la imagen o si todos los canales se multiplican por el mismo valor se cambia el brillo.
Puede tratar cualquier imagen soportada por un TPicture (bmp, ico, wmf, emf y jpeg si se añade Jpeg a las uses), aunque la imagen resultante siempre es un bitmap.
Ejemplos de uso:
|
#2
|
|||
|
|||
Hola Seoane, siento ser tan pesado pero creo que estoy por el buen camino y en breve espero acabar con este problema. resulta que tu codigo me va perfectamente. He creado un form con un timage y una imagen y con el codigo dentro de Implementation. Lo que he echo en el form es crear dos botones llamados oscurecer y Aclarecer, cada uno con sus funciones pertenecientes [delphi] // Oscurecemos la imagen de un TImage
Canales(Image1.Picture,64,64,64); // Iluminamos la imagen de un TImage Canales(Image1.Picture,192,192,192);[delphi] Me funciona bien pero son excluyentes, es decir que cuando ejecuto " mi aplicacion" si le doy a oscurecer se oscurece pero si acto seguido le doy a aclarecer no me reacciona. En cambio si ejecuto la aplicación de nuevo y en vez de empezar oscureciendo empiezo, aclareciendo me funciona, y cuando despues le doy a oscurecer tampoco reacciona. Habria algun modo de que pudiera ir pulsando el boton aclarecer y oscurecer alternativamente y no tuviera que volver a ejecutar? Muchisimas gracias de veras por tu dedicación y conocimientos. |
#3
|
|||
|
|||
Hola Seoane, siento ser tan pesado pero creo que estoy por el buen camino y en breve espero acabar con este problema. resulta que tu codigo me va perfectamente. He creado un form con un timage y una imagen y con el codigo dentro de Implementation. Lo que he echo en el form es crear dos botones llamados oscurecer y Aclarecer, cada uno con sus funciones pertenecientes [delphi] // Oscurecemos la imagen de un TImage
Canales(Image1.Picture,64,64,64); // Iluminamos la imagen de un TImage Canales(Image1.Picture,192,192,192);[delphi] Me funciona bien pero son excluyentes, es decir que cuando ejecuto " mi aplicacion" si le doy a oscurecer se oscurece pero si acto seguido le doy a aclarecer no me reacciona. En cambio si ejecuto la aplicación de nuevo y en vez de empezar oscureciendo empiezo, aclareciendo me funciona, y cuando despues le doy a oscurecer tampoco reacciona. Habria algun modo de que pudiera ir pulsando el boton aclarecer y oscurecer alternativamente y no tuviera que volver a ejecutar? Muchisimas gracias de veras por tu dedicación y conocimientos. |
#4
|
|||
|
|||
Lo que sucede es que cada vez que quiero pulsar oscurecer se oscurece pero si quiero pulsar después aclarecer, no me responde, es como si fueran excluyentes, que una vez pulsado uno me desactive el otro, porque tambien me sucede a la inversa.
Muchas gracias por tu dedicacion y conocimientos, de veras. PD: Creo que ocurrió algun error en el foro cuando quise meterle los claudatores de Delphi. |
#5
|
||||
|
||||
Parece ser que el problema es que el TImage no se actualiza, pero tiene facil solucion:
|
#6
|
||||
|
||||
Parece ser que el problema es que el TImage no se actualiza, pero tiene facil solucion:
|
|
|
|