![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| nikki4 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 27.10.2009 Репутация: нет Всего: нет |
На экране монитора есть некоторая область и по ней перемещаются некоторые объекты (например белые кружочки с черным кружочком внутри).
Нужно сделать так, чтобы делались клики мышкой на эти движущиеся объекты Мне кажется можно как-то делать поиск объекта на экране по цвету (например кликать на белый цвет).. или искать объекты сравнивая с картинкой объекта... Вот только как такое можно сделать не знаю, может кто-нибудь подскажет? какие функции для этого использовать нужно? |
|||
|
||||
| Coder |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 733 Регистрация: 13.12.2004 Репутация: 2 Всего: 11 |
Ну ты же рисуешь кружок по координатам, т.е. знаешь их?
При клике так же известны координаты курсора, вот и сравнивай их с координатами кружочка. |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
Он не рисует кружочки.
Кружочки рисует другая программа. Задача пользователя тыкать в них мышкой. Лень двигатель прогресса. Человек хочет автоматизировать действия пользователя. Задача делится на 3 подзадачи. 1. Получить снимок экрана или окна. 2. Найти любой или все интересующие объекты. 3. Навести курсор мышки и сымитировать клик. 1 зависит от способа вывода изображения. Если кружки - отдельные окна, то 1-й этап вообще не нужен. Если это GDI, то получить можно обычным bitblt Если это DX/OGL графика, то получать нужно средствами DX/OGL 2. Зависит от 1 пункта. Это самый сложный момент. 3. Самое простое. Тут никаких сложностей. Начни с п.0 - проанализируй окно - что оно из себя представляет, чем являются кружочки. От этого зависит реализация п.1. |
|||
|
||||
| nikki4 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 27.10.2009 Репутация: нет Всего: нет |
Snowy - вы всё правильно поняли. 1. не разбираюсь в этих терминах.. но судя по описанию это всеже наверное GDI я вообще думал можно сделать просто принтскрином снимок экрана, а потом вырезать эти объекты, после чего их как-то искать на экране, а потом кликать. А изображение там, обычное окно браузера в котором флеш игра. Собственно в этой игре иногда и появляются случайном месте объекты (я их условно назвал белыми кружочками), которые начинают двигаться, и на них нужно кликать.. И нужно автоматизировать, чтобы программа сама кликала при их появлении.. не знаю почему, но у меня какой-то бзик вчера начался.. вместо того, чтобы делать это руками, попробовать разобраться с функциями и написать программу. Интересно, даже больше чем сама игра.. 2. то что это самый сложный как раз понимаю, вот только как делать, в зависимости от моего случая? 3. сегодня ночью уже научился Это сообщение отредактировал(а) nikki4 - 7.4.2010, 11:42 |
|||
|
||||
| Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 16 Всего: 54 |
дак а какой у тебя случай? что это за кружочки, никтож не знает Это сообщение отредактировал(а) Frees - 7.4.2010, 11:46 -------------------- Кольцов Виктор Владимирович |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
IE должен быть активным окном, иначе просто не отрисуется и снимешь мусор. Оптимально было бы использовать встроенный в свою программу WebBrowser. По пункту 2 помочь ничем не могу - в теории распознавания изображений никакой практики не имею. |
|||
|
||||
| RomanEEP |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 18.5.2006 Где: Коломна Репутация: 1 Всего: 8 |
Распознавание изображений очень непростая задача.
Если есть возможность, то стоит вместо этого перехватить вызовы GDI или другой библиотеки по отрисовки этих самых кружков. Если этот способ не прокатит, то можно посмотреть здесь http://opencv.willowgarage.com/wiki/. Насколько я знаю, это лучшее что есть в бесплатном доступе. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |