Capturar Cor do pixel onde o mouse se encontra utilizando o Delphi

Olá pessoal, estou meio sumido devido a muito trabalho.

Mas vamos la, postarei uma função para capturar a cor de pixel onde o mouse esta posicionado, a função é a seguinte;

function 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;

a função funciona passando como parâmetro a posição do mouse (x,y). Para pegar a posição corrente do mouse use a função nativa do delphi GetCursorPos passandando como parametro uma variável do tipo TPoint que armazenará a posição X,Y do mouse na tela.

Então vamos ao exemplo prático.

Crie um novo projeto no delphi e coloque :

  • memo
  • panel
  • timer

Adicione ao fonte as funções DesktopColor e ColorToHex (último post)

No evento OnTimer do Timer adicione a variável do tipo TPoint.

Após o begin execute o

  GetCursorPos(variavel);
  Panel.Color := DesktopColor(variavel.X, variavel.Y);
  panel.Refresh;
  memo.Lines.Add(TColorToHex(DesktopColor(variavel.X, variavel.Y)));

essa rotina irá retornar o valor hexa do pixel onde se encontra o mouse e jogar esse valor no memo.

Espero ter ajudado mais um pouco.

Até a próxima.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: