为了解决我使用AutoIt时遇到的问题,我需要比较2个Windows系统UI的图像。比较2个图像,获取它们之间的差异坐标
他们将有唯一的区别是一个不同颜色的矩形,因为文本将被突出显示。我需要知道该矩形的位置(以像素为单位),以指示脚本在那里单击。
任何可以告诉我坐标的软件,与屏幕具有相同的分辨率,所以我可以点击它?
为了解决我使用AutoIt时遇到的问题,我需要比较2个Windows系统UI的图像。比较2个图像,获取它们之间的差异坐标
他们将有唯一的区别是一个不同颜色的矩形,因为文本将被突出显示。我需要知道该矩形的位置(以像素为单位),以指示脚本在那里单击。
任何可以告诉我坐标的软件,与屏幕具有相同的分辨率,所以我可以点击它?
您可以按打印屏幕按钮来获取剪贴板中窗口的图像。然后,将结果粘贴到画笔窗口中。左下角应该在Paint窗口中给出x/y坐标。您可能需要点击查看:状态栏。
如果您使用的AutoIt,做一个小脚本是这样的:
#include <misc.au3>
HotKeySet("{Esc}","fin")
local $pos
func fin()
Exit
EndFunc
While 1
_GetPos()
WEnd
func _GetPos()
$pos=MouseGetPos()
If _ispressed("7B") Then
SplashTextOn("MousePos", "X[" & $Pos[0] & "]"& " - Y[" & $Pos[1] & "]",200,50)
sleep(5000)
SplashOff()
EndIf
Sleep(60)
EndFunc
运行它,当你按下F12,它会给你5个secondes鼠标光标的位置。
Esc退出
你需要的是从here的ImageSearch UDF
下载DLL。
实例:
#include <ImageSearch.au3>
$x1=0
$y1=0
HotKeySet("+s", "Start")
HotKeySet("+e", "end")
While 1
Sleep (100)
WEnd
Func Start()
While 1
$result = _ImageSearch("recycle2.bmp",1,$x1,$y1,0)
if $result=1 Then
MouseMove($x1,$y1,3)
MsgBox(0,"Found","Found a empty recycle bin here...")
EndIf
WEnd
EndFunc
Func End()
Exit
EndFunc