找回密码
 加入
搜索
查看: 2464|回复: 1

[图形处理] 大漠插件循环找图总是第一个坐标的问题

[复制链接]
发表于 2016-8-3 02:35:33 | 显示全部楼层 |阅读模式
;大漠方法
;#AutoIt3Wrapper_UseX64=No;如果64位系统运行出错加这句
#include <ScreenCapture.au3>
RunWait(@ComSpec & " /c" & "RegSvr32 /s F:\Setups\PowerTools\AUTOIT\MyInclude\DM3.1233\dm.dll", "", @SW_HIDE)
Global $DM = ObjCreate("dm.dmsoft")

$TimeH = TimerInit()
Do
        _ScreenCapture_Capture(@ScriptDir & "\SP\pttemp.bmp", 2, 545, 72, 615)
        ;$DM.Capture(2, 545, 72, 615, @ScriptDir & "\SP\pttemp.bmp")
        $Str = $DM.FindPicE(21, 182, 322, 483, @ScriptDir & "\SP\pttemp.bmp", "000000", 0.7, 0)
        ;返回找到的图片序号(从0开始索引)以及X和Y坐标 形式如"index|x|y", 比如"3|100|200"(图片左上角的坐标)
        $PicPos = StringSplit($Str, "|")
        If Number($PicPos[2]) > 0 Then MouseClickDrag("left", 40, 580, Number($PicPos[2]) + 40 - 380, Number($PicPos[3]) + 40, 0)
Until TimerDiff($TimeH) > 20000
2, 545, 72, 615区域的图片经过MouseClickDrag拖动过一次就会自动改变。
所以要循环找图。但不知道为什么。只能第一次循环能找到图,后面的图不能找到,总是返回第一个已经找过的坐标或者就是找不到。
请问为什么,怎么解决?第一次用大漠
发表于 2016-8-9 12:59:03 | 显示全部楼层
FindPicE的返回值中,找到的图片的序号从0开始索引.如果没找到返回-1。你现在每次是寻找一个图片,所以找到的话,就是0|xx|xx,找不到就是-1|-1|-1。且,每次找到的图片 其位置是固定的,故返回值 是一样的.所以后面的循环只要返回的是0|xx|xx,就表明找到了.
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-22 20:07 , Processed in 0.082742 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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