GARANTIR DESCONTO

Fórum Mudar cores da TImage, usando TColorDialog #349062

15/11/2007

0

Estou com um problema:
Gostaria de colorir um componente Image: no lugar da cor verde lima da imagem abaixo (poder mudar na cor que escolher conforme o exemplo)

Não vou conseguir desenhar carinhas iguais com cores diferentes, porque temos milhares de cores né? :?

[img:718ad059a6]http://img217.imageshack.us/img217/3648/forumdevmedianew2tb0.th.png[/img:718ad059a6]


Lucas.bernieri

Lucas.bernieri

Responder

Posts

17/11/2007

Micheus

Se vc puder informar uma posição na imagem em que a cor a ser trocada está, então vc pode utilizar o método FloodFill da classe TCanvas.

Vamos supor que vc processe o evento OnClick do Image1, de modo que vc poderá obter a cor no ponto clicado, e selecionando a cor desejada preenche todos os pontos vizinhos que contém a mesma cor. O código seria mais ou menos este:
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  SrcColor :TColor;
begin
 // obtém a cor na posição que o mouse foi clicado
  SrcColor := Image1.Canvas.Pixels[X, Y];
  if ColorDialog1.Execute then
  begin
  // define a cor a ser utilizada no preenchimento
    Image1.Canvas.Brush.Color := ColorDialog1.Color;  // cor do preenchimento
    Image1.Canvas.FloodFill(X, Y, SrcColor, fsSurface);
  end;
end;


Abraços


Responder

Gostei + 0

17/11/2007

Lucas.bernieri

Obrigado pela Ajuda

Valeu!!!!
:lol:


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar