Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
2 / 2 / 1
Регистрация: 25.03.2014
Сообщений: 79

Найти приблизительный цвет RGB

27.02.2015, 17:46. Показов 3404. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер, пытаюсь написать бота для игры, есть код:
C++ Скопировано
1
2
3
4
HDC hdc=GetDC(Handle_ArcheAge);
COLORREF  c = GetPixel (hdc, 110, 39); // координаты определения пикселя
ReleaseDC(Handle_ArcheAge,hdc);
if (Handle_ArcheAge, c ==RGB(54,120,32)) //RGB коды цветов
проблема в том, что в игре в том месте не пиксель определённого цвета, а его градации, вероятно из-за сглаживания, как можно сделать так, чтобы он работал не с 1 вариантом, а в некотором периоде для этого цвета ибо прописывать для всех вариантов будет сумасшествие или всё таки прописывать?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.02.2015, 17:46
Ответы с готовыми решениями:

Найти темный и светлый цвет RGB
есть RGB цвет...надо найти ее темный и светлый цвет.. ULONG CCWINDOW::Analizer(COLORREF color,UINT kind) { //0 Svetliy ...

Получить цвет пикселя в RGB
Здравствуйте, как можно получить цвет пикселя в RGB ? Желательно с использование библиотеки png++

Получить цвет каждого пикселя изображения, разбив на уровни RGB
Нужно получить цвет каждого пикселя изображения, разбив на уровни RGB. Как реализовать подобное?

3
Native x86
Эксперт Hardware
 Аватар для quwy
6452 / 3555 / 994
Регистрация: 13.02.2013
Сообщений: 11,282
27.02.2015, 17:55
Лучший ответ Сообщение было отмечено konsrevator как решение

Решение

Вместо того, чтобы сравнивать цвет пикселя со сформированным RGB-значением, нужно сделать наоборот: разложить пиксел на R, G и B, и сравнивать каждую составляющую с эталоном, учитывая возможное отклонение.

C Скопировано
1
2
3
4
5
6
7
8
9
10
11
char R, G, B, Band;
 
HDC hdc = GetDC(Handle_ArcheAge);
COLORREF c = GetPixel(hdc, 110, 39); // координаты определения пикселя
ReleaseDC(Handle_ArcheAge, hdc);
 
R = GetRValue(c);
G = GetGValue(c);
B = GetBValue(c);
Band = 5; // допуск на отклонение от основного цвета
if(R >= 54-Band && R <= 54+Band && G >= 120-Band && G <= 120+Band && B >= 32-Band && B <= 32+Band) //...
0
41 / 41 / 26
Регистрация: 24.02.2015
Сообщений: 151
27.02.2015, 17:56
Сравнивай каждую компоненту отдельно. Если компонента R > (54 - 5) && R< (54 + 5), поверяешь следующую. +-5 это будет твоя точность. Можно каждой компоненте определить свою точность. Ну и эксперементируй пока не получится выделить всю область.
0
2 / 2 / 1
Регистрация: 25.03.2014
Сообщений: 79
27.02.2015, 19:22  [ТС]
Большое спасибо, всё работает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.02.2015, 19:22
Помогаю со студенческими работами здесь

Как поменять цвет текста консоли на любой цвет из RGB цветов
Цвет консоли можно поменять используя только 16 встроенных цветов или можно использовать комбинации RGB? Console.ForegroundColor =...

Цвет в цветовой схеме RGB – определить “средний цвет”
2. Описать структуры для хранения описания объектов и функции выполняющие вычисления для массива структурного типа : - цвет в цветовой...

Вернуть цвет пикселя в RGB
Добрый день. Как зная координаты пикселя на Image1 или Форме получить цвет этого пикселя?

Цвет в OLE_COLOR, в RGB и в HTML
Скажите, как перевести значение цвета OLE_COLOR &lt;-&gt; RGB &lt;-&gt; HTML? Или хотя бы намекните, какова природа цифр в windows цветах.

Как задать цвет в rgb?
приведите пример как можно применить цвет в rgblabel2.BackColor = Color.AliceBlue;


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Работа с объемным DOM в javascript
Htext 04.04.2025
Сегодня прочитал статью тут о расходах памяти в JS, ее утечках и т. п. И вот что вспомнил из своей недавней практики. Может, кому пригодится. Хотя, в той статье об этом тоже есть. Дело в том, что я. . .
Оптимизация производительности Node.js с помощью кластеризации
run.dev 04.04.2025
Масштабирование приложений для обработки тысяч и миллионов запросов — обыденная задача для многих команд. Node. js, благодаря своей асинхронной событийно-ориентированной архитектуре, стал популярной. . .
Управление зависимостями в Python с Poetry
py-thonny 04.04.2025
Стандартный инструмент для установки пакетов в Python - pip - прекрасно справляется с базовыми сценариями: установил пакет командой pip install и используешь его. Но что произойдёт, когда разные. . .
Мониторинг с Prometheus в PHP
Jason-Webb 04.04.2025
Prometheus выделяется среди других систем мониторинга своим подходом к сбору и хранению метрик. В отличие от New Relic, который использует агентный подход и отправляет данные во внешнее хранилище,. . .
Пакет Context в Golang: Управление потоками и ресурсами
golander 04.04.2025
Работа с горутинами в Go часто напоминает управление непослушными детьми - они разбегаются кто куда, делают что хотят и не всегда завершаются вовремя. К счастью, в Go 1. 7 появился пакет context,. . .
Контейнеризация React приложений с Docker
Reangularity 03.04.2025
Контейнеризация позволяет упаковать приложение со всеми его зависимостями в автономный контейнер, который можно запустить на любой платформе с установленным Docker. Это существенно упрощает процессы. . .
Свой попап в SwiftUI
mobDevWorks 03.04.2025
SwiftUI, как декларативный фреймворк от Apple, предоставляет множество инструментов для создания пользовательских интерфейсов. В нашем распоряжении есть такие API как alerts, popovers, action sheets. . .
Антипаттерны микросервисной архитектуры
ArchitectMsa 03.04.2025
Хорошо спроектированная микросервисная система может выдержать испытание временем, оставаясь гибкой, масштабируемой и устойчивой к большинству проблем. Такая архитектура обладает высоким уровнем. . .
std::mutex в C++: Советы и примеры использования
bytestream 03.04.2025
std::mutex - это механизм взаимного исключения, который гарантирует, что критический участок кода выполняется только одним потоком в каждый момент времени. Это простое, но могущественное средство. . .
Не удержался от оценки концепции двигателя Стирлинга.
Hrethgir 03.04.2025
Сколько не пытался - она выдавала правильные схемы, причём случайно рисовала горячие области в середине, холодные по краям, трубки с краёв в низ и магнит в соединяющей, но при этой выдавала описание. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер