Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   Cambiar el color de una imagen (https://www.clubdelphi.com/foros/showthread.php?t=18861)

inter_mercadeo 25-02-2005 02:37:37

Cambiar el color de una imagen
 
Hola, esta es mi segunda duda, tengo una imagen en un Timage, que solo es de un solo color, me gustaria saber como cambiar el color de esta imagen por otro, claro si se puede utilizar una paleta de colores, seria excelente.


Si alguien sabe como hacer esto en verdad se los agradeceria mucho.

En el Timage tengo almacenado un .ico (icono)

Gracias nuevamnete a todos por leer este mensaje.

Hasta pronto.

Carlos Saaacedra

Neftali [Germán.Estévez] 25-02-2005 10:22:52

La Imagen tiene X pixels de ancho, por Y pixels de Alto, eso te lo indican las propiedades Height y Width. Basta con que hagas un recorrido por todos los pixels de la imagen (pixels[x,y]) con un doble for y cambies el valor de la propiedad pixel que tu quieres por el valor del color nuevo; Algo así:

Código Delphi [-]
 var
   oldColor, NewColor:Integer;
   i,j:Integer;
 begin
   ...
   rellena las propiedades utilizando el combo de selección de colores, por ejemplo
 ...
    for i := 0 to (img.Height - 1) do begin
       for j := 0 to (img.Width - 1) do begin
          // es del color que quiero cambiar?
          if (img.Canvas.Pixel[i,j] = oldColor) then begin
            img.Canvas.Pixel[i,j] := newColor;
          end;
        end;
    end;
 
   ... Es una aproximación, pero te puede servir para probar...

inter_mercadeo 25-02-2005 18:36:54

Gracias Neftali por tus comentarios, en estos momentos lo voy a intentar.


Gracias nuevamente


La franja horaria es GMT +2. Ahora son las 22:21:41.

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