Как получить массив значений RGB для каждого пикселя клиентской области окна - PullRequest
2 голосов
/ 29 сентября 2011

Есть ли способ получить значения цвета для каждого пикселя в клиентской области окна с помощью gdi?

1 Ответ

1 голос
/ 29 сентября 2011

Как отмечено в комментарии @JerryCoffin. Вот простой пример

hDC = GetDC(hwnd);
hBitmap = CreateCompatibleBitmap(hDC, width, height);
hMemDC = CreateCompatibleDC(hDC);
hOld = SelectObject(hMemDC, hBitmap);
BitBlt(hMemDC, 0, 0, width, height, hDC, x, y, SRCCOPY);

// Clean up
DeleteDC(hMemDC);
ReleaseDC(hwnd, hDC);

В DC памяти должен быть выбран объект растрового изображения, для которого вы можете использовать функцию GetPixel GDI, а затем вы также можете извлечь значения цвета с помощью макросов GetRValue(), GetGValue() и GetBValue() .

...