min00yuan 发表于 2011-2-17 21:00:37

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

本帖最后由 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, $pos)
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
         $obj = ObjCreate("QMDispatch.QMFunction")
         $foundpixel = $obj.FindPic($iLeft, $iTop, $iRight, $iBottom, $szFileName, $fSimilar)
         $pos = Int($foundpixel / 8192)
         $pos = Mod($foundpixel, 8192)
         Return $pos
EndFunc   ;==>FindPic      这个是当时找到的完整的代码,我只用了一半就入下图报错,原来是我的原因啊,但是找图还是不行还有别的能用的好办法吗????用这个就报错如图用到的QMDispatch.dll,helper.dll,WinIo.dll QMDispatch.dll 也都已经有了,QMDispatch.dll也注册了 这3个dll文件直接放在au3的安装目录下还是?

the886 发表于 2011-2-17 22:55:40

未找到这个函数 _FindPic

如果还不理解我也没办法了

republican 发表于 2011-2-18 06:47:07

你没有这个函数,当然报错。

谁写的,找谁。

min00yuan 发表于 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个文件到底放到哪里啊?安装的根目录下?还是哪个指定的文件夹里啊?)

republican 发表于 2011-2-18 10:21:32

请问,_FindPic()在哪?

min00yuan 发表于 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
         $obj = ObjCreate("QMDispatch.QMFunction")
         $foundpixel = $obj.FindPic($iLeft, $iTop, $iRight, $iBottom, $szFileName, $fSimilar)
         $pos = Int($foundpixel / 8192)
         $pos = Mod($foundpixel, 8192)
         Return $pos
EndFunc   ;==>FindPic   这个是当时发帖的下半部分 是不是还需要这个啊

lanfengc 发表于 2011-2-18 12:33:03

我写的一个外挂 用AU3实现了这样的功能。 可惜的是不能全屏幕找。 只能判断固定区域里是不是想要的数据。 其实利用的就是我发出来的验证码识别和阿福说的2进制数据转成16进制存储。 核心代码都在那个例子里面。如果你想实现这样的功能,就去找那个代码瞧瞧

smartzbs 发表于 2011-2-18 13:30:01

http://www.autoitx.com/thread-20741-1-1.html
的2#例1_2.rar,找图函数.

min00yuan 发表于 2011-2-19 11:39:32

还是好人多啊~~~~

min00yuan 发表于 2011-2-19 13:02:07

回复 7# lanfengc
你的外挂教程我全都看过了,很钦佩

the886 发表于 2011-2-20 12:31:32

外挂好东西

51ak 发表于 2011-2-24 12:46:39

AU3自带找图函数。

lcgkogoo 发表于 2011-2-24 15:46:40

少了一个插件DLL

llzo1120 发表于 2011-5-16 21:22:12

支持,支持

jwchen119 发表于 2013-3-9 15:00:55

學習學習!!
thanks for sharing
页: [1] 2
查看完整版本: [已解决]au3如何实现找图功能