![]() |
PixelSearch координаты не совпадают с Position в AutoIt Windows Info
Вложений: 1
Добрый день!
Столкнулся со следующей проблемой, большая просьба помочь разобраться В Paint нарисовал точку определенного цвета. Значение точки "Position" в AutoIt Windows Info: 110, 256 Скриптом ниже нахожу координаты, используя PixelSearch и получаю значение 277, 644 Затем перевожу курсор мыши на полученные координаты и вывожу координаты курсора, получаю: 278, 645 Для информации, разрешение экрана:3840/2160 + прикрепил файл с точкой в Paint Скрипт: $hWOW = WinGetHandle("[CLASS:MSPaintApp]"); Присваиваю переменную окна, в котором будет работать скрипт WinActivate($hWOW); Переключаюсь на заданное окно HotKeySet("{F9}","Start") HotKeySet("{F10}","Stop") While True WEnd Func Start() While True sleep (500) $coord = PixelSearch(3840, 2160, 0, 0, 0x3E7117); ищу координаты цвета, начиная с нижнего правого угла экрана If @error = 1 Then MsgBox(0, "not found", "not found") ElsE MsgBox(0, "found", $coord[0] & "," & $coord[1]); вывожу координаты пикселя определенного цвета sleep (1000) MouseMove ($coord[0],$coord[1]); двигаю курсор по найденным координатам sleep (1000) $aPos = MouseGetPos() MsgBox(4096, "mouse coordinates", 'X= ' & $aPos[0] & ", Y= " & $aPos[1]); вывожу текущие координаты положения курсора EndIf WEnd EndFunc Func Stop() Exit EndFunc |
Проблему решил следующим образом:
1. Определил 2 параметра (должны быть по умолчанию, но на всякий случай прописал отдельно0=) Opt("PixelCoordMode",1) Opt("MouseCoordMode",1) 2. Пронормировал координаты, которые выдает PixelSearch с координатами, которые выдает MouseGetPos В моем случае MouseGetPos/PixelSearch ~0,39 |
Время: 15:05. |
Время: 15:05.
© OSzone.net 2001-