Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Nalik
105 / 64 / 32
Регистрация: 30.11.2012
Сообщений: 846
#1

Определение пикселя цвета в координатах

10.04.2014, 12:20. Просмотров 801. Ответов 7
Метки нет (Все метки)

Подскажите пожалуйста, как можно определить цвет пикселя в указанных координатах на с++ в окне, которое находим по хендлу?
Использую Microsoft Visual C++ 2010 Express.

Т.е. что нить типа такого
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void main()
  {
      int c; 
          HWND Handle;
      Handle  = FindWindow(L"Edit", NULL); //блокнот
      
           c = опр_пикселя (300, 120); //300, 120 - это типа координаты
           if (c = белый цвет)
           {
                cout << "цвет в координатах белый";
           }
           else
           {
                cout <<"цвет не совпадает";
           }
           
      getch();
  }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2014, 12:20
Ответы с готовыми решениями:

Выполнить определение цвета пикселя при вождении мышкой по компоненту TImage
В программе мне необходимо выполнять определение цвета пикселя при вождении...

Получением цвета пикселя из игры
Добрый день! Я пытаюсь получить цвет пикселя из игры WoW Использую такой код:...

C++ Поиск пикселя заданного цвета и замена другим.
Ребята, помогите пожалуйста с решением задачи. Кучу документации перекопала -...

Считывание пикселя и вывод на экран его цвета
Подскажите пожалуйста, как это можно реализовать или где про это можно что-то...

Как сделать проверку по диапазону цвета пикселя?
Подскажите пожалуйста, как сделать проверку по диапазону цвета пикселя. Т.е....

7
zss
Модератор
Эксперт С++
7061 / 6606 / 4179
Регистрация: 18.12.2011
Сообщений: 17,405
Завершенные тесты: 1
10.04.2014, 12:27 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void main()
  {
          HWND Handle;
          Handle  = FindWindow(L"Edit", NULL); //блокнот
           COLORREF  c = GetPixel (300, 120); //300, 120 - это типа координаты
           if (c ==RGB(255,255,255) )
           {
                cout << "цвет в координатах белый";
           }
           else
           {
                cout <<"цвет не совпадает";
           }
           
      getch();
  }
1
Nalik
105 / 64 / 32
Регистрация: 30.11.2012
Сообщений: 846
10.04.2014, 12:52  [ТС] #3
Спасибо!)
Ещё раз прошу прощения, у меня почему то пишет ошибку в координатах..
0
Миниатюры
Определение пикселя цвета в координатах  
Croessmah
++Ͻ
14488 / 8269 / 1553
Регистрация: 27.09.2012
Сообщений: 20,312
Записей в блоге: 3
Завершенные тесты: 1
10.04.2014, 12:57 #4
Потому что надо документацию смотреть: http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

Добавлено через 31 секунду
zss, GetPixel еще принимает HDC первым параметром
1
zss
Модератор
Эксперт С++
7061 / 6606 / 4179
Регистрация: 18.12.2011
Сообщений: 17,405
Завершенные тесты: 1
10.04.2014, 13:45 #5
Цитата Сообщение от Croessmah Посмотреть сообщение
GetPixel еще принимает HDC первым параметром
В документации попал на страницу от MFC и не обратил на это внимание.
0
Nalik
105 / 64 / 32
Регистрация: 30.11.2012
Сообщений: 846
10.04.2014, 16:36  [ТС] #6
Что-то я делаю не так, да?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void main()
{
    setlocale(LC_CTYPE, "Russian"); //Руссификатор
    HWND Handle;
    Handle  = FindWindow(L"Edit", NULL);
    
    COLORREF  c = GetPixel (HDC Handle, 300, 120); //300, 120 - это типа координат
    
    if (c ==RGB(255,255,255) )
    {
        cout << "Ok";
    }
    else 
    {
        cout << "Not";
    }
    getch();
  }
0
zss
Модератор
Эксперт С++
7061 / 6606 / 4179
Регистрация: 18.12.2011
Сообщений: 17,405
Завершенные тесты: 1
10.04.2014, 16:43 #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void main()
{
    setlocale(LC_CTYPE, "Russian"); //Руссификатор
    HWND Handle;
    Handle  = FindWindow(L"Edit", NULL);
    
    HDC hdc=GetDC(Handle);
    COLORREF  c = GetPixel (hdc, 300, 120); //300, 120 - это типа координат
    ReleaseDC(Handle,hdc);
     
    if (c ==RGB(255,255,255) )
    {
        cout << "Ok";
    }
    else 
    {
        cout << "Not";
    }
    getch();
  }
1
Nalik
105 / 64 / 32
Регистрация: 30.11.2012
Сообщений: 846
10.04.2014, 17:12  [ТС] #8
zss, спасибо большое!!! Выручаешь прям!))
А можно тебя в вк добавить, чтобы мучать иногда?
0
10.04.2014, 17:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2014, 17:12

Считывание цвета пикселя конкретного окна в конкретном месте
Добрый день. Помогите пожалуйста. Какбы нужно в конкретном окне программы при...

нахождение пикселя RGBA из второго пикселя и их суммы
Собственно вопрос уже в названии, но он мало относится к С++, больше к графике....

Изменение цвета пикселя в opencv
Добрый вечер. Скажите, пожалуйста, есть ли какой-либо метод у opencv, который...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru