Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

GetPixel и CLR_INVALID..

318
25 февраля 2010 года
nof
193 / / 03.04.2006
Ребят, доброй ночи всем!
У меня вот какой вопрос..

Я написал программу для одной игрушки, которая считывает в некоторой области экрана значение цвета пикселя. Делаю это легко:

 
Код:
::GetClientRect(g_hWnd, rect);
COLORREF clr = GetPixel(hdc, rect.Width() / 2, rect.Height() / 2);


У меня всё отлично работает, функция возвращает текущее значение цвета точки. Но почему-то у многих пользователей программы эта же конструкция всегда возвращает либо 0 (то есть белый цвет, чего не должно быть), либо чёрный (что означает CLR_INVALID). Так вот вопрос в том, что могут означать эти ошибки? И что может быть их причиной? Почему у многих эта конструкция не работает корректно?

GetClientRect работает исправно, проверял... в коде стоит обработчик, просто не стал захламлять.
8.2K
25 февраля 2010 года
bagie2
299 / / 26.10.2008
Может быть это?

Цитата:
If the pixel is outside of the current clipping region, the return value is CLR_INVALID.

318
26 февраля 2010 года
nof
193 / / 03.04.2006
Цитата: bagie2
Может быть это?


ну так смотри по коду.. такого быть не может, т.к. я беру центр окна. Функция GetClientRect отрабатывает без проблем..

5
26 февраля 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: nof
ну так смотри по коду.. такого быть не может, т.к. я беру центр окна. Функция GetClientRect отрабатывает без проблем..

Чудес не бывает. Задайте явно область клиппинга перед обращением к GetPixel.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог