Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-01-2006
Drake Drake is offline
Miembro
 
Registrado: dic 2005
Posts: 80
Poder: 19
Drake Va por buen camino
Cambiar paleta de colores de un TImage

Buenas estoy haciendo una pequeña aplicación basada en el retoque fotografico es una aplicacion muy simple con lo que no llevara filtros ni nada eso, lo que quiero saber es como hago para, al utilizar 3 TTrackBar cambiar el color o la paleta de colores de un TImage o mejor dicho cambiar la paleta de colores de la imagen (picture) del TImage.
En otras palabras como lo que se hace en el photoshop unos 3 Tracbar para el RGB de la imagen. Bueno espero que me puedan ayudar.
Responder Con Cita
  #2  
Antiguo 24-11-2011
MaxiDucoli MaxiDucoli is offline
Miembro
 
Registrado: feb 2006
Posts: 134
Poder: 19
MaxiDucoli Va por buen camino
Wink

Hola!
Quizás esto te ayude:

Yo hago lo siguiente:

Aca te lo copio y lo pego de mi codigo directamente. Esta en el evento de un TShape.
Vos podes copiar desde el VAR hasta el ultimo END; y pegarlo donde lo necesites o hacer alguna funcion o procedimiento para que te sea mas facil de aplicar a muchos lados:

procedure TFrmColorEditor.ShpVerdeMouseUp(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);
VAR
PNG : TPngImage; // Greamos un Tiamge de PNG - Agrega TPngImage al uses (delphi 2009 en adelante)
i,j : INTEGER;
RutaTemp : String; // Ruta de la imagen a utilizar (podes quitarlo si queres)
col : TColor; // Color que vamos a aplicar
begin
RutaTemp := ExtractFilePath(ParamSTr(0)) + 'Temp\' + Form1.LblNAme.Caption;
PNG := TPngImage.create; // Creamos el PNG
TRY
PNG.LoadFromFile(RutaTemp); Cargamos el PNG

if Sender Is TShape then Col := TShape(Sender).Brush.Color; // Si lo esta enviando un objeto TSHAPE (podes utilizar lo que quieras) entonces la variable COLOR, se transforma en ese color.

FOR j := 0 TO PNG.Height-1 DO //recorremos el alto de la imagen
BEGIN
FOR i := 0 TO PNG.Width-1 DO // recorremos el largo de la imagen
BEGIN
IF PNG.Canvas.Pixels[i,j] <> THEN PNG.Canvas.Pixels[i,j] := Col; Si el color no es negro puro (Yo lo necesitaba asi por motivos de transparencias) entonces pinta el pixel con el color de la variable COL
END
END;
Image1.Picture.Graphic := PNG; // Cargamos la imagen en un TImage
Image1.Picture.SaveToFile(ExtractFilePath(ParamStr(0)) + 'Temp\' + Form1.LblNAme.caption); Salvamos
FINALLY
PNG.Free // Liberamos PNGImage
END;
end;


Este es mi código, ahora lo que te sugiero es que hagas dentro de un Scroll o Slider y la variable TColor (COL) la uses asi:

3 Sliders SliderRojo, SliderVerde, SliderAzul

Setea los Slider MIN = 0 MAX = 255

En el evento Change de cada Slider pongas

Col := RGB(SliderRojo.value,SliderVerde.value,SliderAzul.value);

Y listo!
Se entendio algo??
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como cambiar las cloordenadas de un Timage ? gontxalo Gráficos 2 03-08-2005 12:08:06
Paleta de colores jdattoli Gráficos 7 03-06-2005 22:17:05
Cambiar colores a la imagen maravert Gráficos 3 07-03-2005 09:57:44
Se puede cambiar imagen en el mismo TImage? alfredosg19 Gráficos 3 01-03-2005 08:13:51
Asignar una paleta de 256 colores aromero Gráficos 0 29-10-2004 01:28:45


La franja horaria es GMT +2. Ahora son las 20:03:59.


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
Copyright 1996-2007 Club Delphi