找回密码
 加入
搜索
查看: 13117|回复: 15

[图形处理] [已解决]au3如何实现找图功能

 火.. [复制链接]
发表于 2011-2-17 21:00:37 | 显示全部楼层 |阅读模式
本帖最后由 min00yuan 于 2011-2-20 21:10 编辑

如题,用插件的那个我也试了就是不行,论坛里我用搜索功能搜了找图,搜出来的办法我一个也没学会,哪位达人指点下啊
HotKeySet("1", "findImage") ;按1查找图片
HotKeySet("", "terminate")         ;alt-q 退出
While 1
         Sleep(100)
WEnd

Func terminate()
         Exit
EndFunc   ;==>terminate
         
Func findImage()
         $pos = _FindPic(0, 0, 1023, 767, "jie.bmp",0.5)
         MouseMove($pos[0], $pos[1])
EndFunc   ;==>findImage

;====================================================================================
; 函数:                                 _FindPic($iLeft, $iTop, $iRight, $iBottom, $szFileName, $fSimilar)
; 作者:                                 waynew310
; 描述:                                 这个函数用于在屏幕范围内查找图片
; 参数:                                 起点($iLeft,$iTop),
;                                         终点($iRight, $iBottom)
;                                         图像文件名称 $szFileName
;                                         相似度$fSimilar (0.8-1)
; 返回值:                         一维数组,分别存放找到图片的x,y坐标,若未找到图片,x,y均小于0
;====================================================================================
Func _FindPic($iLeft, $iTop, $iRight, $iBottom, $szFileName, $fSimilar)
         Dim $pos[2]
         $obj = ObjCreate("QMDispatch.QMFunction")
         $foundpixel = $obj.FindPic($iLeft, $iTop, $iRight, $iBottom, $szFileName, $fSimilar)
         $pos[0] = Int($foundpixel / 8192)
         $pos[1] = Mod($foundpixel, 8192)
         Return $pos
EndFunc   ;==>FindPic      这个是当时找到的完整的代码,我只用了一半就入下图报错,原来是我的原因啊,但是找图还是不行还有别的能用的好办法吗????用这个就报错如图  用到的QMDispatch.dll,helper.dll,WinIo.dll QMDispatch.dll 也都已经有了,QMDispatch.dll也注册了 这3个dll文件直接放在au3的安装目录下还是?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2011-2-17 22:55:40 | 显示全部楼层
未找到这个函数 _FindPic

如果还不理解我也没办法了
发表于 2011-2-18 06:47:07 | 显示全部楼层
你没有这个函数,当然报错。

谁写的,找谁。
 楼主| 发表于 2011-2-18 09:17:30 | 显示全部楼层
本帖最后由 min00yuan 于 2011-2-18 09:22 编辑

这个是我从网上找的啊,他的帖子里说要用到QMDispatch.dll,helper.dll,WinIo.dll 这3个dll文件(这3个文件也有了),   QMDispatch.dll要注册  也注册了  就是不行啊   (QMDispatch.dll,helper.dll,WinIo.dll QMDispatch.dll  这3个文件到底放到哪里啊?安装的根目录下?还是哪个指定的文件夹里啊?)
发表于 2011-2-18 10:21:32 | 显示全部楼层
请问,_FindPic()在哪?
 楼主| 发表于 2011-2-18 10:46:23 | 显示全部楼层
本帖最后由 min00yuan 于 2011-2-18 10:59 编辑

如果我知道我还用发帖求助了吗?

;====================================================================================
; 函数:                                 _FindPic($iLeft, $iTop, $iRight, $iBottom, $szFileName, $fSimilar)
; 作者:                                 waynew310
; 描述:                                 这个函数用于在屏幕范围内查找图片
; 参数:                                 起点($iLeft,$iTop),
;                                         终点($iRight, $iBottom)
;                                         图像文件名称 $szFileName
;                                         相似度$fSimilar (0.8-1)
; 返回值:                         一维数组,分别存放找到图片的x,y坐标,若未找到图片,x,y均小于0
;====================================================================================
Func _FindPic($iLeft, $iTop, $iRight, $iBottom, $szFileName, $fSimilar)
         Dim $pos[2]
         $obj = ObjCreate("QMDispatch.QMFunction")
         $foundpixel = $obj.FindPic($iLeft, $iTop, $iRight, $iBottom, $szFileName, $fSimilar)
         $pos[0] = Int($foundpixel / 8192)
         $pos[1] = Mod($foundpixel, 8192)
         Return $pos
EndFunc   ;==>FindPic   这个是当时发帖的下半部分 是不是还需要这个啊
发表于 2011-2-18 12:33:03 | 显示全部楼层
我写的一个外挂 用AU3实现了这样的功能。 可惜的是不能全屏幕找。 只能判断固定区域里是不是想要的数据。 其实利用的就是我发出来的验证码识别和阿福说的2进制数据转成16进制存储。 核心代码都在那个例子里面。  如果你想实现这样的功能,就去找那个代码瞧瞧
发表于 2011-2-18 13:30:01 | 显示全部楼层
http://www.autoitx.com/thread-20741-1-1.html
的2#例1_2.rar,找图函数.
 楼主| 发表于 2011-2-19 11:39:32 | 显示全部楼层
还是好人多啊~~~~
 楼主| 发表于 2011-2-19 13:02:07 | 显示全部楼层
回复 7# lanfengc
你的外挂教程我全都看过了,很钦佩
发表于 2011-2-20 12:31:32 | 显示全部楼层
外挂好东西
发表于 2011-2-24 12:46:39 | 显示全部楼层
AU3自带找图函数。
发表于 2011-2-24 15:46:40 | 显示全部楼层
少了一个插件DLL
发表于 2011-5-16 21:22:12 | 显示全部楼层
支持,支持
发表于 2013-3-9 15:00:55 | 显示全部楼层
學習學習!!
thanks for sharing
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-17 04:39 , Processed in 0.085455 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表