Mudar cores da TImage, usando TColorDialog
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é? :?
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é? :?
Lucas.bernieri
Curtidas 0
Respostas
Micheus
15/11/2007
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:
Abraços
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
GOSTEI 0
Lucas.bernieri
15/11/2007
Obrigado pela Ajuda
Valeu!!!!
:lol:
Valeu!!!!
:lol:
GOSTEI 0