Unique Colors Search 2.2.0Добавлена возможность поиска целых изображений с помощью самого UOPilot (с выборочной степенью проверки совпадения с оригиналом) посредством генерации скрипта поисковой подпрограммы. Уточню: программа проверяет заданный процент пикселей от общего числа пикселей Объекта, и если ВСЕ они совпали с оригинальным изображением, то Объект считается найденным. Пиксели проверяются по всей площади изображения в особом "разбросанном" по всей площади порядке (в таком же, как происходило построение объекта при нажатии кнопки Rebuild points).
Созданную подпрограмму следует вставить в конец вашего основного скрипта. (пример использования нужно удалить или использовать в своём скрипте).
Еще добавлю: функция findcolor в текущей версии пилота (v.2.18.8) во многих программах возвращает координаты найденной точки со смещением. Как правильно получить результат findcolor - читаем в теме
Полезные советы (прилеплена в Важном в общем форуме по UOPilot). Если у вас именно такая ситуация, то нужно подправить код сгенерированного скрипта: добавить смещение #ucsX1 и #ucsY1 в строчки с присваиванием координат в начале цикла for:
For #ucsi 1 #ucssz
set #ucsXb sar[ #ucsi 1 ]
+ #ucsX1 set #ucsYb sar[ #ucsi 2 ]
+ #ucsY1Функция поиска целых изображений полезна в случае, если выполняются сразу оба условия:
1) у объекта нет уникальных цветов (например одна из нескольких похожих текстовых кнопок на экране);
2) объект на экране всегда выглядит одинаково (с точностью до пикселя)
Если же у объекта есть уникальный цвет, то лучше объект искать именно по этому цвету с помощью findcolor (так будет намного быстрее).
Для использования новой функции:
- загружаем в левый список искомый объект, в правый - скрины без этого объекта (рекомендую для генерации оптимального кода поиска, хотя на крайний случай можно и без них)
- выполняем анализ изображений (Start Analyze)
- выделяем в левом списке нужный файл-Объект и нажимаем кнопку Find Image (появится новое окно);
- пересоздаем точки изображения кнопкой (Rebuild Points)
- ползунком выбираем нужный процент совпадения с оригинальным изображением (100% - явно лишнее) и визуально контролируем что получится (в принципе иногда может хватить даже 10-30% точек из-за хитрого порядка проверки точек =)
- генерируем код скрипта (кнопка Generate)
- копируем код в буфер обмена (кнопка Copy)
- вставляем полученный код в конец своего скрипта и "прикручиваем" поиск изображения (вызов подпрограммы и проверку результата) в нужное место вашего скрипта (пример использования есть в начале сгенерированного кода)
Вдруг что не работает - отписываемся тут =)
P.S.: если хотите искать на экране
текст в виде картинки и поиск пилотом почему-то его не находит- попробуйте отключить в Windows сглаживание экранных шрифтов, а только потом делайте скрины экрана, текста, анализ в программе, поиск пилотом и т.п.
Если ищете просто картинку без текста - сглаживание шрифтов отключать не надо