Atitit gui控件定位解决方案

 

 

1.1. 但是AUTOIT没有找图功能..可以请大侠们写一份这个UDF出来吗?

 

 

1.2. ahk

ImageSearch 可用于在屏幕上查找缺少文本或其文本不易被检索到的图形目标。例如,其可用于查找图形按钮、图标、网页链接、或游戏目标的位置。一旦定位,则可通过Click对这些目标进行点击。

某些时候可采用如下策略:搜索图像的一小块图像剪辑而不搜索整个图像。此方法可在图像发生整体性变化而其内部某些部分保持不变的情况下提高可靠性。一种提取图像剪辑的方法是:

1. 当在活动的窗口中可以看到图像时按 Alt+PrintScreen。此操作可将屏幕截图置于剪贴板中。

2. 打开诸如画图板等图像处理程序。

3. 粘贴剪贴板中的内容(即屏幕截图)。

4. 选择对该图像而言唯一且不变的区域。

5. 拷贝并粘贴该区域至新图像文件。

6. 将其保存为随 ImageSearch 使用的小文件。

为实现匹配,屏幕上的图像必须与经由 ImageFile 参数及其选项所加载的图像具有相同大小。

待搜索区域必须可见;换言之,不可能搜索隐藏在另一窗口后面之窗口的区域。通过比较,通常能够探查到部分位于鼠标光标下面的的图像。例外情况是游戏光标,其在大多数情况下会遮住位于其下面的任何图像。

由于搜索自该区域的顶行开始向下移动,若存在一个以上的匹配图像,则将发现最接近顶部者。

包含透明色的图标会自动容许其颜色匹配屏幕上的任何颜色。因此,位于该图标后面之部分的颜色并不重要。

ImageSearch 可支持 8-bit 颜色的屏幕(256 色)或更高。

搜索行为可随显示适配卡的颜色深度(尤其对于 GIF 及 JPG 文件而言)发生变化。因此,若脚本将在多种颜色深度下运行,则最好在每种色深设置下皆进行测试。您可以使用变化色调选项(shades-of-variation option (*n) )来协助搜索行为在多种颜色深度下保持连续性。

若屏幕上的图像是半透明的,则 ImageSearch 可能会无法找到它。在此情况下,可尝试使用变化色调选项 (*n) 或通过 ​WinSet, Transparent, Off​ 使窗口临时不透明。

;;

; C:\0workspace\AutoHotKey\AutoHotkey.exe  D:\0workspace\atiplat_eeJS\imgSearch\search.ahk

 

WinActivate ,Bluestacks App Player

ImageSearch, OutputVarX, OutputVarY,0, 0, 1000, 1000, D:\000\ruy.jpg

msgbox , x:%OutputVarX%  y:%OutputVarY%

msgbox, ErrorLevel:%ErrorLevel%

 

1.3. Java +opencv 模板匹配