mrjbom
@mrjbom

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

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

Войти через центр авторизации
Похожие вопросы