找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1809|回复: 0

第35课 找图命令FindPic - 《按键精灵9 · 经典教程》

[复制链接]
  • 打卡等级:开宗立派

1087

主题

2141

回帖

4335

积分

院长

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

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

教程内容介绍

FindPic 找图
在区域范围内寻找指定图片,返回找到的左上角坐标。与找色命令有点类似,但是区别在于找图是对多个点进行对比分析,只有大量的点符合要求,才认为这张图片被找到了。
从上面功能来看,找图需要我们提供一张图片,图片需要通过抓抓或者大漠综合工具之类的截取后提供,不能直接用QQ截图工具,因为图片格式要求24位BMP格式,其他格式例如PNG之类的一律不支持。
找图命令参数也与找色类似,前4个是范围参数,第5个是图片,第6个是相似度,第7个和第8个是返回变量。
找不到情况下,返回变量是-1,-1,而找到就是具体坐标了。
图片也支持透明图之类的,具体我们后面会有详细讲解。
[按键精灵] 纯文本查看 复制代码
//高级例子
//介绍: 支持多个颜色的限时找色命令
//图片: 多张图片以|隔开, 直接写图片名时表示附件图片, 任何一张图片找到立即返回结果
//时长: 单位毫秒, 指定时间内循环查找, 找到立即返回
//返回: 返回数组数据, 格式为[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
楼主热帖
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|紫猫编程学园

GMT+8, 2024-11-22 02:43

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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