Форум программистов, компьютерный форум CyberForum.ru

GetPixel, почему первый иф равен тру, а второй - нет - C++

Восстановить пароль Регистрация
 
morro
2 / 2 / 0
Регистрация: 10.04.2012
Сообщений: 13
18.06.2012, 04:16     GetPixel, почему первый иф равен тру, а второй - нет #1
Уважаемые знатоки,
в первом GetPixel корды верхнего левого угла иконки поплавка (певая вкладка, опять таки вверху слева), а во втором верхний левый пиксель собственно игры. Почему первый иф равен тру, а второй - нет?
C++
1
2
3
4
5
6
7
8
if (GetPixel(GetDC(hwnd),6,27)==RGB(60,106,140)) {
  i=1;
  return;
}
if (GetPixel(GetDC(hwnd),452,82)==RGB(50,42,24)) {
  i=1;
  return;
}
[Картинки грузите на форум, в формате JPG или PNG]
GetPixel, почему первый иф равен тру, а второй - нет

координаты второго Getpixel сверял вручную, относительно первого GetPixel, поэтому по идее все должно быть верно, но...

Добавлено через 2 часа 9 минут
up
все точки внутри флешки-черные...как узнать реальный цвет?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2012, 04:16     GetPixel, почему первый иф равен тру, а второй - нет
Посмотрите здесь:

Сравнить первый и второй элементы массива C++
Преобразовать строку, заменив в ней первый символ на второй. C++
Выяснить, является ли заданное число m членом геометрической прогрессии, первый член которой равен g, а знаменатель – z. C++
C++ алгоритмом Определить номера строк, в которых первый элемент равен последнему
C++ первый gets() игнорируется, а второй работает
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alexey31415
 Аватар для alexey31415
59 / 59 / 3
Регистрация: 16.05.2010
Сообщений: 632
18.06.2012, 07:04     GetPixel, почему первый иф равен тру, а второй - нет #2
возможно ты не с тем цветом сравниваешь,получи сначала цвета обоих пикселей,а потом сравнивай с ними уже
morro
2 / 2 / 0
Регистрация: 10.04.2012
Сообщений: 13
18.06.2012, 15:13  [ТС]     GetPixel, почему первый иф равен тру, а второй - нет #3
нет, там все верно. проблема в том, что
C++
1
2
3
int r = GetRValue(GetPixel(GetDC(hwnd),900,300));
int g = GetGValue(GetPixel(GetDC(hwnd),900,300));
int b = GetBValue(GetPixel(GetDC(hwnd),900,300));
люой точки игры возвращает черный цвет
alexey31415
 Аватар для alexey31415
59 / 59 / 3
Регистрация: 16.05.2010
Сообщений: 632
18.06.2012, 15:45     GetPixel, почему первый иф равен тру, а второй - нет #4
а ты не менял протяжённость окна?может быть она меньше 900 в каком-то направлении,вот и нельзя получить цвет этого пикселя
morro
2 / 2 / 0
Регистрация: 10.04.2012
Сообщений: 13
18.06.2012, 18:17  [ТС]     GetPixel, почему первый иф равен тру, а второй - нет #5
все, эта проблема решилась копированием нужного пикселя в контекст (CreateCompatibleDC итд), но теперь другой вопрос: когда я определил, что нужного пикселя нет-нужно отправить сообщение (VK_SPACE), и это тоже выполняется, но загвоздка в том, что VK_SPACE передается собственно Опере, а не флеш-приложению
C++
1
hwnd = FindWindow(NULL, L"Рыбное место - ловим рыбу с друзьями! - Opera");
C++
1
2
3
4
5
6
7
8
9
10
while(1){
                memdc=spizd(720,635);
                if (GetPixel(memdc,0,0)==RGB(125,192,9))
                {Sleep(100);}
                else {
                    PostMessage(hwnd, WM_KEYDOWN, VK_SPACE, 0);
                    Sleep(100);
                    PostMessage(hwnd, WM_KEYUP, VK_SPACE, 0);
                    }
                }
alexey31415
 Аватар для alexey31415
59 / 59 / 3
Регистрация: 16.05.2010
Сообщений: 632
19.06.2012, 10:17     GetPixel, почему первый иф равен тру, а второй - нет #6
вам нужно отправлять сообщение флэш-приложению?я думаю,что оно является дочерним окном и наверняка есть способ определить дочерние окна
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2012, 16:44     GetPixel, почему первый иф равен тру, а второй - нет
Еще ссылки по теме:

C++ Выяснить, является ли заданное число m членом геометрической прогрессии, первый член которой равен g, а знаменатель – z.
C++ Поменять местами первый и последний столбцы, второй и предпоследний и т.д
"Тру" и "не тру" программирование C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
morro
2 / 2 / 0
Регистрация: 10.04.2012
Сообщений: 13
19.06.2012, 16:44  [ТС]     GetPixel, почему первый иф равен тру, а второй - нет #7
так и есть, но spy++ говорит что у него(дочернего окна оперы) тоже есть дочернее окно. С помощью другой софтины определил, что оба окна подсвечивают одну область, но реагирует на сообщения только второе(самое нижнее в ветке), хендл которого никак не получается узнать.
GetPixel, почему первый иф равен тру, а второй - нет
Yandex
Объявления
19.06.2012, 16:44     GetPixel, почему первый иф равен тру, а второй - нет
Ответ Создать тему
Опции темы

Текущее время: 18:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru