Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   PixelSearch координаты не совпадают с Position в AutoIt Windows Info (http://forum.oszone.net/showthread.php?t=353641)

Adder007 01-06-2023 19:27 3009877

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

Adder007 02-06-2023 16:45 3009924

Проблему решил следующим образом:
1. Определил 2 параметра (должны быть по умолчанию, но на всякий случай прописал отдельно0=)
Opt("PixelCoordMode",1)
Opt("MouseCoordMode",1)
2. Пронормировал координаты, которые выдает PixelSearch с координатами, которые выдает MouseGetPos
В моем случае
MouseGetPos/PixelSearch ~0,39


Время: 16:58.

Время: 16:58.
© OSzone.net 2001-