Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Получить цвет пикселя на рабочем столе

Delphi , Рабочий стол , Рабочий стол

Получить цвет пикселя на рабочем столе

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

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;

 procedure TForm1.Timer1Timer(Sender: TObject);
 var
   Pos: TPoint;
 begin
   GetCursorPos(Pos);
   Panel1.Color := DesktopColor(Pos.X, Pos.Y);
 end;

Here's the translation of the provided text into Russian:

Код написан на Delphi и предназначен для получения цвета пикселя на рабочем столе и обновления цвета панели соответственно.

Функция DesktopColor принимает два целочисленных параметра X и Y, представляющих координаты пикселя на рабочем столе. Она создает новый канвас, получает handle контекста устройства (DC) окна рабочего стола с помощью функций GetWindowDC и GetDesktopWindow, устанавливает текущий контекст устройства в этом handle с помощью свойства Handle канваса, получает значение цвета указанного пикселя с помощью функции GetPixel, и finally освобождает канвас.

Процедура Timer1Timer вызывается каждый раз, когда таймер, связанный с ней, срабатывает. Она получает текущую позицию курсора с помощью функции GetCursorPos, вызывает функцию DesktopColor для получения цвета пикселя в этой позиции, и устанавливает свойство цвета панели (Panel1) в этот цвет.

В улучшенной версии кода:

  • Параметры X и Y функции DesktopColor теперь округляются с помощью функции Round, чтобы обеспечить, что они являются целыми числами, требуемыми функцией GetPixel.
  • Код slightly более эффективен, поскольку создается новый канвас только один раз, когда вызывается из процедуры Timer1Timer.

В статье описывается функция DesktopColor, которая позволяет получать цвет пикселя на рабочем столе компьютера, а также пример ее использования в приложении с помощью таймера.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Рабочий стол ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 12:50:20/0.0053970813751221/1