精品免费教程

第35课 找图命令FindPic - 《按键精灵9 · 经典教程》
  • 楼主 紫猫
  • 177802022-4-3 16:45:02

按键电脑版

教程封面: 点击查看
按键版本: 按键精灵9
教程难度: 中级教程
教程专辑: 《按键精灵9 · 经典教程》
教程简介: 这是我们早期按键精灵9的经典教程系列,当时讲完没多久就按键2014出来了,所以一直放在某个角落吃灰。现按键论坛重启,急需一套全面的零基础免费教程,故响应号召,将这部分视频重新整理并加上图文说明后发布。虽然教程年代久远,但按键精灵9的语法与按键精灵2014版完全一样,仅仅只是界面不同而已,所以可以放心学习,而一些改动的地方,我也将会在帖子中以图文形式告知大家。由于这个系列是我刚开始授课时讲解的,有点小紧张,语速比较慢,也有一些重复话语,推荐大家2倍速以上观看,捂脸,逃。。。
教程下载: --
网盘密码: 无
备注说明: --
[media]https://www.bilibili.com/video/BV13L4y1i7uS[/media]
教程内容介绍

FindPic 找图
在区域范围内寻找指定图片,返回找到的左上角坐标。与找色命令有点类似,但是区别在于找图是对多个点进行对比分析,只有大量的点符合要求,才认为这张图片被找到了。
从上面功能来看,找图需要我们提供一张图片,图片需要通过抓抓或者大漠综合工具之类的截取后提供,不能直接用QQ截图工具,因为图片格式要求24位BMP格式,其他格式例如PNG之类的一律不支持。
找图命令参数也与找色类似,前4个是范围参数,第5个是图片,第6个是相似度,第7个和第8个是返回变量。
找不到情况下,返回变量是-1,-1,而找到就是具体坐标了。
图片也支持透明图之类的,具体我们后面会有详细讲解。
[mw_shl_code=qscript,true]//高级例子
//介绍: 支持多个颜色的限时找色命令
//图片: 多张图片以|隔开, 直接写图片名时表示附件图片, 任何一张图片找到立即返回结果
//时长: 单位毫秒, 指定时间内循环查找, 找到立即返回
//返回: 返回数组数据, 格式为[x, y, 序号], 未找到返回[-1, -1, -1]
Function zmFindPic(x1, y1, x2, y2, 图片, 相似度, 时长)
    Dim pics, i, x, y, t
    zmFindPic = Array(-1, -1, -1)
    pics = Split(图片, "|")
    t = Plugin.Sys.GetTime()
    Do
        For i = 0 To UBound(pics)
            If InStr(pics(i), "\") = 0 Then pics(i) = "Attachment:\" & pics(i)
            FindPic x1, y1, x2, y2, pics(i), 相似度, x, y
            If x > - 1  Then
                zmFindPic = Array(x, y, i)
                Exit Function
            End If
        Next
        Delay 10
    Loop While 时长 > Plugin.Sys.GetTime() - t
End Function

//调用例子1: 3秒内在指定范围内查找附件里1.bmp或2.bmp图片, 任何一个找到都返回结果
Dim ret
ret = zmFindPic(0, 0, 400, 500, "1.bmp|2.bmp", 0.9, 3000)
If ret(0) > - 1  Then
    TracePrint "找到坐标x=" & ret(0) & ", 坐标y=" & ret(1) & ", 序号=" & ret(2)
Else
    TracePrint "没有找到"
End If

//调用例子2: 3秒内在指定范围内查找附件里1.bmp或C盘里的2.bmp图片, 任何一个找到都返回结果
ret = zmFindPic(0, 0, 400, 500, "1.bmp|C:\2.bmp", 0.9, 3000)
If ret(0) > - 1  Then
    TracePrint "找到坐标x=" & ret(0) & ", 坐标y=" & ret(1) & ", 序号=" & ret(2)
Else
    TracePrint "没有找到"
End If[/mw_shl_code]
倒序浏览 看全部 全部回复
暂无回复,快来抢沙发
回复 收藏
天天打卡