Как получить значение пиксела используя WinAPI?

Загружаю изображение таким образом:
hdc = BeginPaint(GetConsoleWindow(), &paintStruct);
	if (!hdc) { cout << "Begin paint error\n"; return -1; }
	hBitmap = LoadImage(NULL, L"Mask.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
	if (!hBitmap) { cout << "Load image error\n"; return -1; }

Дальше мне требуется считать значение первого пиксела, как это сделать?
GetPixel() работает с HDC, можно-ли привести изображение в HDC и работать так?
  • Вопрос задан
  • 67 просмотров
Решения вопроса 1
petermzg
@petermzg
Самый лучший программист
HDC hdcMem = CreateCompatibleDC(hdc); // создаете совместимый контекст
HBITMAP hbmOld = SelectObject(hdcMem, hBitmap); // устанавливаете там свой bitmap
GetPixel(hdc, x, y); // получаете свой пиксель
SelectObject(hdcMem, hbmOld); // возвращаете назад битмап контекста
DeleteDC(hdcMem); // удаляете контекст, что уже не нужен
);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
igooods Санкт-Петербург
от 120 000 до 180 000 ₽
МТС Москва
от 140 000 до 250 000 ₽
РГСофт Логистика Новосибирск
от 100 000 до 120 000 ₽