sexta-feira, 23 de abril de 2010

Capturar Cor do pixel onde o mouse se encontra

Insira 1 Timer (Paleta System), e 1 Panel (Paleta Standard), no seu Form.

Declare a função DesktopColor na seção Private,
function TForm1.DesktopColor(const X, Y: Integer): TColor;
var
c: TCanvas;
begin
c := TCanvas.Create;
try
c.Handle := GetWindowDC(GetDesktopWindow);
Result := GetPixel(c.Handle, X, Y);
finally
c.Free;
end;
end;
Esta função vai retornar a cor de acordo com as coordenadas X e Y.


O evento OnTimer do componente Timer vai ficar assim:

procedure TForm1.Timer1Timer(Sender: TObject);
Var
Ponteiro : TPoint;
begin
GetCursorPos(Ponteiro);
Panel.Color := DesktopColor(Ponteiro.X, Ponteiro.Y);
panel.Refresh;
end;
Esse código é o responsável por capturar as coordenadas do Mouse (X e Y), e enviar para a função DesktopColor, para que ela possa retornar a cor.

Abraços e até a próxima.

Nenhum comentário:

Postar um comentário