![]() |
|
Модераторы: Snowy, Alexeis, MetalFan |
![]()
|
|
| Tokagero |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
Суть в том чтоб делать скриншот раз в секунду гдето и проверять, если пиксель НЕ такого-то цвета тогда имитировать нажатие ф1 ... Создание для онлайн-игры програмки для автоматического использования зелий (проверка строки жизни)... Как проверить является ли пиксель нужного цвета?
|
|||
|
||||
| Mikh@il |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 15.8.2007 Репутация: нет Всего: нет |
Пиксель состоит из трех-каналов(для RGB-палитры), получи значения красного, зеленого и синего.
Значения цвета канала от 0 до 255. Вот те пример
А вообще как я понял суть твоей проблемы тебе надо сравнивать твою картинку(полоску жизней) с полной полоской жизни (100%-здоровье), так есть решение проще, берешь считаешь к-во пикселей в твоей полоске (это делаешь один единственный раз), после чего когда твои жизни уменьшаются твои действия следующие: 1. Предположим в полоске уровень жизни обозначен красным цветом 2. Считаешь к-во красных пикселей 3. Полученный результат делишь на к-во пикселей во всей полоске (результат больше единицы быть не может, если еще и на 100% умножить то получишь процент здоровья, если он меньше 100 - то вливаешь в себе бутыль пива и закусываешь рыбкой и у тя опять 100% здоровья) Добавлено через 2 минуты и 44 секунды Пиксель состоит из трех-каналов(для RGB-палитры), получи значения красного, зеленого и синего. Значения цвета канала от 0 до 255. Вот те пример
А вообще как я понял суть твоей проблемы тебе надо сравнивать твою картинку(полоску жизней) с полной полоской жизни (100%-здоровье), так есть решение проще, берешь считаешь к-во пикселей в твоей п Добавлено через 2 минуты и 57 секунд Пиксель состоит из трех-каналов(для RGB-палитры), получи значения красного, зеленого и синего. Значения цвета канала от 0 до 255. Вот те пример
А вообще как я понял суть твоей проблемы тебе надо сравнивать твою картинку(полоску жизней) с полной полоской жизни (100%-здоровье), так есть решение проще, берешь считаешь к-во пикселей в твоей п |
||||||
|
|||||||
| Tokagero |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
Mikh@il, Большое спасибо но моя идея немного другая...
Я проверяю только один пиксель полоски. Допустим, всего 100 жизней. А зелья восполняют 25. Я беру примерно 70-75ый пиксель и проверяю Если он такого-то (светлокрасного) цвета то ничего, а если она НЕ этого (темнокрасного, типа пустое) то тогда имитировать F1 (зелье)... Еще одна проблема - на скриншоте наверно цвета будут... не очень качественные и часто пиксели будут изза качества изображения иметь искаженный цвет Присоединённый файл ( Кол-во скачиваний: 18 )
123.jpg 25,24 Kb |
|||
|
||||
| Mikh@il |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 15.8.2007 Репутация: нет Всего: нет |
Tokagero - у тя на картинке очень красивые цифорки жизней, белые и ровненькие, я бы распозновал их.
1. Проведи бинаризацию, все что не белое будет черные, а все что белое останется белым, после чего выдели границы цифорок по вертикали (по горизонтали не надо, т.к. у тя цифры в одну строку), и сравни с эталоном (В эталон нарежь цифры из этой же картинки их всего будет - 10) Работать будет быстро, а погрешности никакой. |
|||
|
||||
| Tokagero |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
Mikh@il, заманчиво но звучит сложно. Есть примеры?
|
|||
|
||||
| Mikh@il |
|
||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 15.8.2007 Репутация: нет Всего: нет |
Если распознать сложно делай по пикселам.
1. Для простоты преобразуешь изо-ение в оттенки серого: Преобразование к оттенкам серого заключается в получении яркости каждой точки по известной формуле (Y:=0.3*R+0.59*G+0.11*B) и последующем копировании полученного значения во все три канала (R=G=B:=Y).
2. Проверяешь пикселы Берешь первую строку сканируешь и заносишь в массив
Вот и все! Добавлено через 2 минуты и 45 секунд Если распознать сложно делай по пикселам. 1. Для простоты преобразуешь изо-ение в оттенки серого: Преобразование к оттенкам серого заключается в получении яркости каждой точки по известной формуле (Y:=0.3*R+0.59*G+0.11*B) и последующем копировании полученного значения во все три канала (R=G=B:=Y).
2. Проверяешь пикселы Берешь первую строку сканируешь и заносишь в массив [code=delphi] Image1.Picture.Bitmap.PixelFormat:=PF24Bit; P:=Image1.Picture.Bitmap.ScanLine[0]; Добавлено через 2 минуты и 57 секунд Если распознать сложно делай по пикселам. 1. Для простоты преобразуешь изо-ение в оттенки серого: Преобразование к оттенкам серого заключается в получении яркости каждой точки по известной формуле (Y:=0.3*R+0.59*G+0.11*B) и последующем копировании полученного значения во все три канала (R=G=B:=Y).
2. Проверяешь пикселы Берешь первую строку сканируешь и заносишь в массив [code=delphi] Image1.Picture.Bitmap.PixelFormat:=PF24Bit; P:=Image1.Picture.Bitmap.ScanLine[0]; |
||||||||
|
|||||||||
| pseud |
|
||||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: нет Всего: 40 |
у компонента TCanvas есть такая пропертя:
вот и делай
Это сообщение отредактировал(а) pseud - 21.8.2007, 10:11 -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
||||
|
|||||
![]()
|
| Правила форума "Delphi: Звук, графика и видео" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |