Findimage: различия между версиями
Tatikoma (обсуждение | вклад) (Новая страница: « == Описание == '''FindImage''' - оператор поиска сохраненного изображения в области заданной нач...») |
Tatikoma (обсуждение | вклад) |
||
Строка 2: | Строка 2: | ||
== Описание == | == Описание == | ||
'''FindImage''' - оператор поиска сохраненного изображения в области заданной начальными и конечными координатами по оси XY. | '''FindImage''' - оператор поиска сохраненного изображения в области заданной начальными и конечными координатами по оси XY. | ||
− | + | <br> | |
− | + | <br>Формат картинки должен быть: '''bmp 24 бита.''' <br>Цвет крайнего пикселя в левом верхнем углу изображения считается "цветом фона", и при поиске картинки на экране не учитывается. Например, цвет этого пикселя красный (255). В этом случае все пиксели красного цвета присутствующие на искомой картинке будут считаться фоновыми (прозрачными) и не будут сравниваться с тем, что присутствует на экране. Поэтому, нельзя чтобы в файле-картинке все пиксели были одного цвета. Нужно сделать, чтобы хотя бы один левый верхний пиксель цветом отличался от остальных. | |
== Синтаксис == | == Синтаксис == | ||
Привязка к окну: опционально. | Привязка к окну: опционально. | ||
− | + | <br>Работа со свернутым окном: нет. | |
− | + | <br>Работа с перекрытым окном: Да. Привязка к окну обязательна. Aero (темы Windows) должен быть включен. Если был установлен Астер, то он должен быть отключен, а система перезагружена. | |
set #a FindImage (#StartX #StartY #EndX #EndY ($filename) %ResultArray [#type [#accuracy [#count [#deviation]]]] [abs]) | set #a FindImage (#StartX #StartY #EndX #EndY ($filename) %ResultArray [#type [#accuracy [#count [#deviation]]]] [abs]) | ||
Где: | Где: | ||
− | + | <br>'''<#a>''' - переменная, в которую записывается результат работы команды findimage: | |
− | + | <br>Если #a = 0, значит поиск был произведён, но картинка не найдена. | |
− | + | <br>Если найдена только 1 картинка, то будет записан процент точности найденного изображения. | |
− | + | <br>Если найдено несколько картинок, то будет записано количество найденных изображений. | |
− | + | <br>Однозначно определить сколько именно картинок было найдено командой FindImage лучше всего по размеру массива %ResultArray с помощью функции Size(%ResultArray). | |
− | + | <br>#a < 0 означает, что FindImage не смог произвести поиск- либо была обнаружена ошибка в написании параметров команды, либо проблемы с самим файлом картинки. | |
− | + | <br>Если #a = -4, значит файл картинки не найден / в неправильном формате / повреждён / все пиксели файла одного цвета. Чаще всего- путь к файлу указан неправильно. | |
− | + | <br>'''<#StartX #StartY>''' - координаты левого верхнего угла области поиска. | |
− | + | <br>'''<#EndX #EndY>''' - координаты правого нижнего угла области поиска. | |
− | + | <br>'''<($filename)>''' - путь к сохранённому изображению (только файл формата bmp). Путь к изображению может быть указан как '''абсолютный''' - (C:\programms\pilot\images\), так '''и относительный''' - (images\). Указывается в круглых скобках. При использовании пробелов в адресе используйте кавычки либо строковую переменную(например $myPatch), предварительно присвоив ей(переменной) необходимый адрес. | |
− | + | <br>'''<%ResultArray>''' - результирующий массив, в который записываются координаты изображения. Координатами изображения считается пиксель левого верхнего угла изображения. Если найдено несколько изображений, то координаты всех найденных изображений. Каждая строка массива хранится данные по отдельному найденному изображению: в первой колонке- координата X, во второй колонке- координата Y. | |
− | + | <br>'''[#type]''' - тип поиска. Может принимать значения: '''1''' (надежный), '''2''' (быстрый). Настоятельно рекомендуется использовать быстрый способ поиска, кроме случаев с некорректным обнаружением изображения. По умолчанию 2й тип поиска. | |
− | + | <br>'''[#accuracy]''' - точность поиска. Указывается в процентах. Используется для отсева изображений не достаточно схожих с оригиналом. По умолчанию значение равно 80%. | |
− | + | <br>'''[#count]''' - ограничение количества найденных изображений. По умолчанию установлено для одного изображения - значение '''1''', для всех возможных - значение '''-1'''. | |
− | + | <br>'''[#deviation]''' - Погрешность оттенка. Пример: есть погрешность 3%. точка имеет цвет 100 120 130, 255*3%=7, соответственно 100+/-7. При этом все цвета в пределах (93 113 123)-(107 127 137) будут считаться совпадением. | |
− | + | <br>'''[abs]''' - флаг использования абсолютных координат. Если он указан то поиск происходит относительно левого верхнего угла экрана. Без флага поиск происходит относительно левого верхнего угла рабочего окна(привязанного через ctrl+a либо иным способом). | |
− | + | <br> | |
− | + | <br>Если вы ищете на экране текст в виде картинки, и в системе используется сглаживание шрифтов, то могут быть проблемы с нахождением, даже если вы видите, что такой текст на экране есть. Все-равно при включенном сглаживании искомая картинка может незначительно отличаться от того что есть на экране. В этом случае рекомендуется снизить точность поиска либо отключить сглаживание шрифтов на компьютере, где используется findimage. | |
− | '''Коды ошибок FindImage:''' | + | '''Коды ошибок FindImage:'''<br> |
− | ''''-1'''' упало при поиске, точная причина не известна. | + | ''''-1'''' упало при поиске, точная причина не известна.<br> |
− | ''''-2'''' не нашли открывающую скобку после имени функции. | + | ''''-2'''' не нашли открывающую скобку после имени функции.<br> |
− | ''''-3'''' не найдено пути в скобках. | + | ''''-3'''' не найдено пути в скобках.<br> |
− | ''''-4'''' ошибка поиска файла. | + | ''''-4'''' ошибка поиска файла.<br> |
− | ''''-5'''' ошибка обработки искомого изображения. | + | ''''-5'''' ошибка обработки искомого изображения.<br> |
− | ''''-6'''' ошибка получения изображения с экрана. | + | ''''-6'''' ошибка получения изображения с экрана.<br> |
''''-7'''' нечего искать, искомая картинка пустая. | ''''-7'''' нечего искать, искомая картинка пустая. | ||
− | + | <br><br>Иногда требуется сделать клик не по самому изображению, а со смещением. Указывать можно как вначале скрипта так и перед функцией Findimage. | |
set findoffsetx 50 //смещение вправо на 50 пикселей | set findoffsetx 50 //смещение вправо на 50 пикселей | ||
set findoffsety 30 //смещение вниз на 30 пикселей | set findoffsety 30 //смещение вниз на 30 пикселей | ||
Строка 109: | Строка 109: | ||
wait 3000 // ждать 3 секунды | wait 3000 // ждать 3 секунды | ||
goto metka | goto metka | ||
− | + | <br>'''Примеры поиска картинки в перекрытом(не свёрнутом) окне:''' | |
− | + | <br>Привязка к окну обязательна. Aero (темы Windows 7) должен быть включен. Если был установлен Астер, то он должен быть отключен, а система перезагружена. | |
− | + | <br>Окно может быть перекрыто полностью, частично или вообще не перекрыто. Может находиться за пределами экрана. | |
− | + | <br>Иногда требуется указывать родительское окно. В окне пилота есть кнопка 'F', при нажатии открывается окно, в котором отображается что "видит" пилот при поиске (Findcolor, Findimage). Если в окне "чёрный квадрат", значит указано не то окно. В Windows 10 работает не во всех приложениях, может потребоваться установка Aero Glass. | |
// Пример 6 | // Пример 6 | ||
//Чтобы понять как работает поиск можно попробовать на рабочем столе найти значок 'Мой компьютер'. | //Чтобы понять как работает поиск можно попробовать на рабочем столе найти значок 'Мой компьютер'. | ||
Строка 143: | Строка 143: | ||
[[Findcolor]] | [[Findcolor]] | ||
− | + | <br> [[If]] | |
− | + | <br>[[Get color]] | |
== История развития == | == История развития == | ||
'''2.20''' | '''2.20''' | ||
− | + | <br>Добавил команду поиска изображений 'set $a FindImage (StartX StartY EndX EndY (filename) ResultArray [type [accuracy [count]]] [abs])'. Ищет по уникальному для изображения цвету. может ничего не найти, если этот цвет чем-то перекрыт. цвет в левом верхнем углу изображения считается цветом фона, и не анализируется. изображение должно быть 24 бита, bmp. В 'ResultArray' возвращает координаты левого верхнего угла найденых изображений. в строковой переменной возвращает количество найденых изображений, либо процент точности единственного найденного. | |
− | + | <br>type: | |
− | + | <br>1 - надежный (default) | |
− | + | <br>2 - быстрый | |
− | + | <br>accuracy: точность поиска в процентах (default: 80) | |
− | + | <br>count: максимальное количество найденых изображений (default: 1, all: -1) | |
− | + | <br>Коды ошибок: | |
− | + | <br>'-1' упало при поиске, точная причина не известна | |
− | + | <br>'-2' не нашли открывающую скобку после имени функции | |
− | + | <br>'-3' не найдено пути в скобках | |
− | + | <br>'-4' ошибка поиска файла | |
− | + | <br>'-5' ошибка обработки искомого изображения | |
− | + | <br>'-6' ошибка получения изображения с экрана | |
'''2.21.2''' | '''2.21.2''' | ||
− | + | <br>Исправил ошибку с определением пути к файлу картинки в 'findimage' после сохранении скрипта через пункт меню 'сохранить как' | |
'''2.23''' | '''2.23''' | ||
− | + | <br>Добавил в 'findimage' погрешность оттенка. указывается в %. слегка изменился синтаксис команды: | |
'set $a FindImage (StartX StartY EndX EndY (filename) ResultArray [type [accuracy [count [deviation]]]] [abs])' | 'set $a FindImage (StartX StartY EndX EndY (filename) ResultArray [type [accuracy [count [deviation]]]] [abs])' | ||
Пример: есть погрешность 3%. точка имеет цвет 100 120 130, 255*3%=7, соответственно 100+/-7. При этом все цвета в пределах (93 113 123)-(107 127 137) будут считаться совпадением. | Пример: есть погрешность 3%. точка имеет цвет 100 120 130, 255*3%=7, соответственно 100+/-7. При этом все цвета в пределах (93 113 123)-(107 127 137) будут считаться совпадением. | ||
− | + | <br>Переделал 'findimage'. повысил стабильность работы. ускорил в ~27 раз при типе поиска 2 | |
− | + | <br>Исправил вычисление точности найденной картинки в команде 'findimage' | |
'''2.27''' | '''2.27''' | ||
− | + | <br>Научил 'findimage' искать картинки в перекрытых окнах. ищет не на всем экране, а в конкретном указанном окне. хэндл окна указывается в качестве типа поиска | |
set #w findwindow (test.bmp) | set #w findwindow (test.bmp) | ||
set $a FindImage ( 0 0 1300 1300 (2.bmp) %a workwindow 70 10 15) | set $a FindImage ( 0 0 1300 1300 (2.bmp) %a workwindow 70 10 15) | ||
Строка 180: | Строка 180: | ||
'''2.27.1''' | '''2.27.1''' | ||
− | + | <br>Добавил код ошибки -4 с выводом сообщения, что файл не найден в команде 'findimage'. | |
− | + | <br>Подправил поиск в перекрытых окнах в командах 'findimage', 'findcolor'. | |
'''2.31''' | '''2.31''' | ||
− | + | <br>Научил 'findimage' понимать координаты, указанные элементами массива. | |
'''2.32''' | '''2.32''' | ||
− | + | <br>Добавил в 'findimage' возврат конечных координат найденной картинки в третьем и четвертом элементе возвращаемого массива. | |
'''2.33''' | '''2.33''' | ||
− | + | <br>Исправил ошибку в 'findimage', когда выводил имя массива вместо количества найденных. | |
− | + | <br>Переписал команду 'findimage'. Исправил утечки памяти. | |
'''2.34''' | '''2.34''' | ||
− | + | <br>Исправил 'findimage' и 'findcolor'. Возвращали неправильные координаты по Y. Ищет слева снизу - вправо вверх. | |
'''2.35''' | '''2.35''' | ||
− | + | <br>Перевернул 'findimage'. Теперь снова ищет сверху вниз. | |
− | + | <br>Исправил в команде 'findimage' выходом за пределы диапазона поиска в сторону уменьшения. | |
− | + | <br>Добавил в 'findimage' возврат конечных координат найденной картинки в третьем и четвертом элементе возвращаемого массива при типе поиска 2. | |
− | + | <br>Исправил в 'findimage' возврат конечных координат найденной картинки (не возвращало совсем). | |
− | + | <br>Исправил 'findimage' и 'findcolor'. Возвращали неправильные координаты. | |
− | + | <br>Сделал по-умолчанию второй тип поиска в команде 'findimage'. | |
'''2.36''' | '''2.36''' | ||
− | + | <br>Добавил переменные смещения кликов мышью и команды 'move', и переменные смещения возвращаемых координат команд 'findimage' и 'findcolor': | |
'clickoffsetx', 'clickoffsety', 'findoffsetx', 'findoffsety'. | 'clickoffsetx', 'clickoffsety', 'findoffsetx', 'findoffsety'. | ||
//размер картинки 9х9 | //размер картинки 9х9 | ||
Строка 220: | Строка 220: | ||
'''2.39''' | '''2.39''' | ||
− | + | <br>Исправил ошибку "-4", возникающую, если координата и путь к файлу не разделены пробелом. | |
'''2.41''' | '''2.41''' | ||
− | + | <br>В команду 'findimage' добавил код ошибки '-7' - нечего искать, искомая картинка пустая. | |
[[Категория:Поиск изображений]] | [[Категория:Поиск изображений]] |
Текущая версия на 10:34, 28 августа 2019
Описание
FindImage - оператор поиска сохраненного изображения в области заданной начальными и конечными координатами по оси XY.
Формат картинки должен быть: bmp 24 бита.
Цвет крайнего пикселя в левом верхнем углу изображения считается "цветом фона", и при поиске картинки на экране не учитывается. Например, цвет этого пикселя красный (255). В этом случае все пиксели красного цвета присутствующие на искомой картинке будут считаться фоновыми (прозрачными) и не будут сравниваться с тем, что присутствует на экране. Поэтому, нельзя чтобы в файле-картинке все пиксели были одного цвета. Нужно сделать, чтобы хотя бы один левый верхний пиксель цветом отличался от остальных.
Синтаксис
Привязка к окну: опционально.
Работа со свернутым окном: нет.
Работа с перекрытым окном: Да. Привязка к окну обязательна. Aero (темы Windows) должен быть включен. Если был установлен Астер, то он должен быть отключен, а система перезагружена.
set #a FindImage (#StartX #StartY #EndX #EndY ($filename) %ResultArray [#type [#accuracy [#count [#deviation]]]] [abs])
Где:
<#a> - переменная, в которую записывается результат работы команды findimage:
Если #a = 0, значит поиск был произведён, но картинка не найдена.
Если найдена только 1 картинка, то будет записан процент точности найденного изображения.
Если найдено несколько картинок, то будет записано количество найденных изображений.
Однозначно определить сколько именно картинок было найдено командой FindImage лучше всего по размеру массива %ResultArray с помощью функции Size(%ResultArray).
#a < 0 означает, что FindImage не смог произвести поиск- либо была обнаружена ошибка в написании параметров команды, либо проблемы с самим файлом картинки.
Если #a = -4, значит файл картинки не найден / в неправильном формате / повреждён / все пиксели файла одного цвета. Чаще всего- путь к файлу указан неправильно.
<#StartX #StartY> - координаты левого верхнего угла области поиска.
<#EndX #EndY> - координаты правого нижнего угла области поиска.
<($filename)> - путь к сохранённому изображению (только файл формата bmp). Путь к изображению может быть указан как абсолютный - (C:\programms\pilot\images\), так и относительный - (images\). Указывается в круглых скобках. При использовании пробелов в адресе используйте кавычки либо строковую переменную(например $myPatch), предварительно присвоив ей(переменной) необходимый адрес.
<%ResultArray> - результирующий массив, в который записываются координаты изображения. Координатами изображения считается пиксель левого верхнего угла изображения. Если найдено несколько изображений, то координаты всех найденных изображений. Каждая строка массива хранится данные по отдельному найденному изображению: в первой колонке- координата X, во второй колонке- координата Y.
[#type] - тип поиска. Может принимать значения: 1 (надежный), 2 (быстрый). Настоятельно рекомендуется использовать быстрый способ поиска, кроме случаев с некорректным обнаружением изображения. По умолчанию 2й тип поиска.
[#accuracy] - точность поиска. Указывается в процентах. Используется для отсева изображений не достаточно схожих с оригиналом. По умолчанию значение равно 80%.
[#count] - ограничение количества найденных изображений. По умолчанию установлено для одного изображения - значение 1, для всех возможных - значение -1.
[#deviation] - Погрешность оттенка. Пример: есть погрешность 3%. точка имеет цвет 100 120 130, 255*3%=7, соответственно 100+/-7. При этом все цвета в пределах (93 113 123)-(107 127 137) будут считаться совпадением.
[abs] - флаг использования абсолютных координат. Если он указан то поиск происходит относительно левого верхнего угла экрана. Без флага поиск происходит относительно левого верхнего угла рабочего окна(привязанного через ctrl+a либо иным способом).
Если вы ищете на экране текст в виде картинки, и в системе используется сглаживание шрифтов, то могут быть проблемы с нахождением, даже если вы видите, что такой текст на экране есть. Все-равно при включенном сглаживании искомая картинка может незначительно отличаться от того что есть на экране. В этом случае рекомендуется снизить точность поиска либо отключить сглаживание шрифтов на компьютере, где используется findimage.
Коды ошибок FindImage:
'-1' упало при поиске, точная причина не известна.
'-2' не нашли открывающую скобку после имени функции.
'-3' не найдено пути в скобках.
'-4' ошибка поиска файла.
'-5' ошибка обработки искомого изображения.
'-6' ошибка получения изображения с экрана.
'-7' нечего искать, искомая картинка пустая.
Иногда требуется сделать клик не по самому изображению, а со смещением. Указывать можно как вначале скрипта так и перед функцией Findimage.
set findoffsetx 50 //смещение вправо на 50 пикселей set findoffsety 30 //смещение вниз на 30 пикселей set findoffsetx -40 //смещение влево на 40 пикселей set findoffsety -60 //смещение вверх на 60 пикселей
Примеры
// Пример 1 // перед запуском скрипта не забываем привязать скрипт к рабочему окну (Ctrl+A) set #startX 100 set #startY 120 set #endX 300 set #endY 540 set $path "C:\Program Files\UOPilot\images\" set %cash[1] картинка // будем искать картинку из файла C:\Program Files\UOPilot\images\картинка.bmp set #a findimage (#startX #startY #endX #endY ($path%cash[1].bmp) %crds 2) if #a > 0 msg Изображение найдено в координатах X= %crds[1 1] Y= %crds[1 2]. Кликнем на нём... left %crds[1 1] %crds[1 2] // кликнули else msg Изображение не найдено end_if
В результате работы, если в заданной области картинка обнаружена, в массив %crds[1 1] будет записано значение координаты X для первой картинки, а в %crds[2 2] - значение Y для второй картинки.
// Пример 2 //поиск изображений (если будет найдено больше 20 поиск прекратится) с точностью 70% и отклонением в цвете 5% set #check FindImage (#startX #startY #endX #endY (images\step.bmp) %crds 2 70 20 5)
// Пример 3 set #b FindImage (10 100 30 150 (d:\myImages\wolf.bmp) %arr 2 80 20 5)
// Пример 4 // будем искать картинку из файла картинка2.bmp, находящуюся в папке пилота set #a findimage (100 120 1024 700 (\картинка2.bmp) %arr 2 80 -1) set #w size (%arr) // получим число найденных картинок msg Найдено картинок: #w for #i 1 #w set #x %arr [#i 1] set #y %arr [#i 2] msg картинка в координатах: #x #y end_for
// Пример 5 // поиск нескольких картинок // перед запуском скрипта не забываем привязать скрипт к рабочему окну (Ctrl+A) set #startX 0 set #startY 0 set #endX 1920 set #endY 1080 set $path "C:\Program Files\UOPilot\images\" // путь к картинкам set %image [1] картинка1 // имя изображения set %image [2] картинка2 // имя второго изображения set %image [3] картинка3 // третьего set %image [4] карти // имена могут быть любыми set #size size(%image) // всего картинок hint Всего картинок #size :metka for #i 1 #size 1 // цикл для поиска картинок set #a findimage (#startX #startY #endX #endY ($path%image[#i].bmp) %arr 2) if #a > 0 move %arr[1 1] %arr[1 2] // переместить курсор на найденную картинку wait 500 // ждать 0,5 секунды end_if end_for wait 3000 // ждать 3 секунды goto metka
Примеры поиска картинки в перекрытом(не свёрнутом) окне:
Привязка к окну обязательна. Aero (темы Windows 7) должен быть включен. Если был установлен Астер, то он должен быть отключен, а система перезагружена.
Окно может быть перекрыто полностью, частично или вообще не перекрыто. Может находиться за пределами экрана.
Иногда требуется указывать родительское окно. В окне пилота есть кнопка 'F', при нажатии открывается окно, в котором отображается что "видит" пилот при поиске (Findcolor, Findimage). Если в окне "чёрный квадрат", значит указано не то окно. В Windows 10 работает не во всех приложениях, может потребоваться установка Aero Glass.
// Пример 6 //Чтобы понять как работает поиск можно попробовать на рабочем столе найти значок 'Мой компьютер'. //Делаем картинку значка в формате bmp, называем 'мойкомпьютер' (без кавычек), закидываем на диск 'C:'. //При этом можно перекрыть значок каким-нибудь окном. //Не забываем сделать привязку Ctrl + A. set #a FindImage(0 0 1920 1080 (C:\мойкомпьютер.bmp) %arr workwindow) if #a > 0 log Картинка найдена. Наведём на неё курсор. move %arr [1 1] %arr [1 2] End_script else msg Картинка не найдена. end_if
// Пример 7 //Ищем картинку в окне Yandex, при этом не важно какое указано окно через Ctrl + A или сделано рабочим через 'set workwindow'. set #handle FindWindow(Yandex) //поиск окна с именем Yandex set #a FindImage(0 0 1920 1080 (C:\UOPilot\images\image.bmp) %arr #handle 80 -1 3) //поиск изображения hint #a //в правом нижнем углу отображён результат поиска if #a > 0 move %arr [1 1] %arr [1 2] #handle //навести курсор на первую найденную картинку //обратите внимание, что в команде 'move' указан хендл окна //т. е. курсор будет перемещён как будто привязка сделана к окну Yandex End_script end_if
Смотрите также
История развития
2.20
Добавил команду поиска изображений 'set $a FindImage (StartX StartY EndX EndY (filename) ResultArray [type [accuracy [count]]] [abs])'. Ищет по уникальному для изображения цвету. может ничего не найти, если этот цвет чем-то перекрыт. цвет в левом верхнем углу изображения считается цветом фона, и не анализируется. изображение должно быть 24 бита, bmp. В 'ResultArray' возвращает координаты левого верхнего угла найденых изображений. в строковой переменной возвращает количество найденых изображений, либо процент точности единственного найденного.
type:
1 - надежный (default)
2 - быстрый
accuracy: точность поиска в процентах (default: 80)
count: максимальное количество найденых изображений (default: 1, all: -1)
Коды ошибок:
'-1' упало при поиске, точная причина не известна
'-2' не нашли открывающую скобку после имени функции
'-3' не найдено пути в скобках
'-4' ошибка поиска файла
'-5' ошибка обработки искомого изображения
'-6' ошибка получения изображения с экрана
2.21.2
Исправил ошибку с определением пути к файлу картинки в 'findimage' после сохранении скрипта через пункт меню 'сохранить как'
2.23
Добавил в 'findimage' погрешность оттенка. указывается в %. слегка изменился синтаксис команды:
'set $a FindImage (StartX StartY EndX EndY (filename) ResultArray [type [accuracy [count [deviation]]]] [abs])'
Пример: есть погрешность 3%. точка имеет цвет 100 120 130, 255*3%=7, соответственно 100+/-7. При этом все цвета в пределах (93 113 123)-(107 127 137) будут считаться совпадением.
Переделал 'findimage'. повысил стабильность работы. ускорил в ~27 раз при типе поиска 2
Исправил вычисление точности найденной картинки в команде 'findimage'
2.27
Научил 'findimage' искать картинки в перекрытых окнах. ищет не на всем экране, а в конкретном указанном окне. хэндл окна указывается в качестве типа поиска
set #w findwindow (test.bmp) set $a FindImage ( 0 0 1300 1300 (2.bmp) %a workwindow 70 10 15) set $a FindImage ( 0 0 1300 1300 (2.bmp) %a #w 70 10 15)
2.27.1
Добавил код ошибки -4 с выводом сообщения, что файл не найден в команде 'findimage'.
Подправил поиск в перекрытых окнах в командах 'findimage', 'findcolor'.
2.31
Научил 'findimage' понимать координаты, указанные элементами массива.
2.32
Добавил в 'findimage' возврат конечных координат найденной картинки в третьем и четвертом элементе возвращаемого массива.
2.33
Исправил ошибку в 'findimage', когда выводил имя массива вместо количества найденных.
Переписал команду 'findimage'. Исправил утечки памяти.
2.34
Исправил 'findimage' и 'findcolor'. Возвращали неправильные координаты по Y. Ищет слева снизу - вправо вверх.
2.35
Перевернул 'findimage'. Теперь снова ищет сверху вниз.
Исправил в команде 'findimage' выходом за пределы диапазона поиска в сторону уменьшения.
Добавил в 'findimage' возврат конечных координат найденной картинки в третьем и четвертом элементе возвращаемого массива при типе поиска 2.
Исправил в 'findimage' возврат конечных координат найденной картинки (не возвращало совсем).
Исправил 'findimage' и 'findcolor'. Возвращали неправильные координаты.
Сделал по-умолчанию второй тип поиска в команде 'findimage'.
2.36
Добавил переменные смещения кликов мышью и команды 'move', и переменные смещения возвращаемых координат команд 'findimage' и 'findcolor':
'clickoffsetx', 'clickoffsety', 'findoffsetx', 'findoffsety'.
//размер картинки 9х9 set findoffsetx 5 set findoffsety 5 set ... findimage //вернет координаты не левого верхнего угла а центра картинки
set clickoffsetx 5 set clickoffsety 5 left 0 0 //кликнет в координаты 5, 5
Добавил кнопочку "F", открывающую тестовую формочку с изображением, найденным Findimage.
2.39
Исправил ошибку "-4", возникающую, если координата и путь к файлу не разделены пробелом.
2.41
В команду 'findimage' добавил код ошибки '-7' - нечего искать, искомая картинка пустая.