Colorir uma imagem em várias partes (com TImage)

Delphi

23/11/2007

Gostaria de colorir uma imagem, usando o TImage, com diversas cores, clicando em um botão e abrindo um ColorDialog, seguindo o esquema abaixo:
Situação 1

Situação 2


Lucas.bernieri

Lucas.bernieri

Curtidas 0

Respostas

Abadia

Abadia

23/11/2007

var
  X, Y: Integer;
  PixColor: TColor;
begin
  for X := 0 to Image1.Width - 1 do
    for Y := 0 to Image1.Height - 1 do
    begin
      PixColor := TBitmap(Image1.Picture.Graphic).Canvas.Pixels[X, Y];
      if PixColor = clBlack then
        PixColor := ColorBox1.Selected;
      TBitmap(Image2.Picture.Graphic).Canvas.Pixels[X, Y] := PixColor;
    end;


Coloque no image1 e image2 a imagem original
no if clBlack é a cor que será trocada na imagem original ao ser copiada para Image2

é um método simples que funciona bem para imagens pequenas e com cores sólidas.


GOSTEI 0
Abadia

Abadia

23/11/2007

só faltou em END pra finalizar


GOSTEI 0
Lucas.bernieri

Lucas.bernieri

23/11/2007

Eu encontrei antes de você responder, o código, que é igual esse.
Mas mesmo assim: muito obrigado.
Já tinha perguntado isso e você foi quem deu melhor resposta!!! :lol:


GOSTEI 0
POSTAR