Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать цвет пиксела на экране в определенных координатах?


ViRUS_1 ©   (2003-01-12 04:51:00) 

Есть x, y (координаты на экране). Нужно узнать какого цвета этот пиксел. Этот пиксел может быть за пределами окна.


ViRUS_1   (2003-02-01 10:16:00) [1]

Всем большое спасибо


Zakus   (2003-01-13 16:31:00) [2]

Если надо присвоить пикселю цвет в RGB -
canvas.pixel[x,y] := RGB(r,g,b)
R,G,B - целые от 0 до 255.


Zakus   (2003-01-13 16:26:00) [3]

Можно узнать цвет пикселя в RGB (красный, зелёный, синий).
Для этого есть методы GETRVALUE(canvas.pixel[x,y])для красного
GETGVALUE(canvas.pixel[x,y])для зелёного
GETBVALUE(canvas.pixel[x,y])для синего


vidiv   (2003-01-13 09:39:00) [4]

function GetScreenPixel(x,y:integer):TColor;
var dc:hdc;
begin
dc := GetDC(0);
result := GetPixel(dc,x,y);
ReleaseDC(0);
end;

Возможно цвет будет нивертирован...


vidiv   (2003-01-13 09:38:00) [5]

function GetScreenPixel(x,y:integer):integer; {не TCOLOR}
var dc:hdc;
begin
dc := GetDC(0);
Result := GetPixel(dc,x,y);
ReleaseDC(0);
end;


Mihey   (2003-01-12 17:25:00) [6]

Нужно использовать API, конкретно - получить контекст экрана:

VAR ScreenDC: hDC;
BEGIN
ScreenDC := GetDC(0); {получить контекст экрана}
// Тут делаем что-нить
ReleaseDC(0,ScreenDC); {освободить контекст}
END;

А далее функции API:

function GetPixel(DC: HDC; X, Y: Integer): Longint;

Она возвращает цвет в RGB, но что-то не понимаю, как с ним потом работать. Если надо проще, то копируй экран в изображение и работай далее с ним как с канвой. Если нужен пример копирования, то можешь сообщить мне на мыло.


Rouse_   (2003-01-12 07:32:00) [7]

Изображение.Canvas.Pixels[x,y];

Желаю успехов


Наверх

Титульная страница Поиск, карта сайта Написать письмо