heavenm 发表于 2017-5-28 07:53:51

大漠找图的问题,不同分辨率无法使用,用FindMultiColorE应该可以

本帖最后由 heavenm 于 2017-5-28 07:59 编辑

;**** 参数创建于 ACNWrapper_GUI ****
#PRE_UseX64=n
#PRE_Res_requestedExecutionLevel=None
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
RegDM()
Global $DM = ObjCreate("dm.dmsoft")
If IsObj($DM) Then
        $ver = $DM.Ver()
        ConsoleWrite('当前大漠插件版本:' & $ver & @CRLF)
Else
        MsgBox(64, '提示:', '注册大漠插件失败!!!')
        Exit
EndIf
$x=@DesktopWidth
$y=@DesktopHeight
Local $hTimer = TimerInit()
$array=$DM.FindPicEX (0,0,$x,$y,@ScriptDir & "\2.bmp","000000",0.9,0)
;~ $array=$DM.FindMultiColorE (0,850,1920,977,'5F5B5E','0|3|5F5B5E',1.0)
$array2=StringSplit ($array,",",2)
MouseMove(Number($array2),Number($array2))

ConsoleWrite(TimerDiff($hTimer)&@CRLF)

Func RegDM()
        Local $dm_dll = @ScriptDir & '\dm.dll'
        ;以下的判断似乎对#RequireAdmin无效 ,
        If @OSVersion = ('WIN_2008R2' Or 'WIN_7' Or 'WIN_2008' Or 'WIN_VISTA') Then
                ;#RequireAdmin ;这个脚本需要完全控制权限
        EndIf
        RunWait(@ComSpec & ' /c regsvr32 /s ' & $dm_dll, '', @SW_HIDE)
EndFunc

heavenm 发表于 2017-5-28 08:00:50

打开图1,要按原大小才能找到,不然找不到
稍微缩放一下就不行了
FindMultiColorE这个抓色点的不太明白参数offset_color这个是什么意思= =#完全不了解啊

afan 发表于 2017-5-28 09:46:39

本帖最后由 afan 于 2017-5-28 09:59 编辑

缩放一下像素点的位置和色值都会改变,找图肯定是不行的。设置宽容度,FindMultiColorE 宽容度改为0.9试试。offset_color 字面意思不就是偏移吗?相对找到的第一个点的偏移坐标。
顺便说一句,如果缩放,不管找图还是找色,都要按缩放后的取样找,否则一般都没什么意义。因此,最好能固定画面大小,禁止缩放。
页: [1]
查看完整版本: 大漠找图的问题,不同分辨率无法使用,用FindMultiColorE应该可以