跳到主要内容

FindPic 找图

🎯功能

在区域范围内寻找指定图片, 返回找到的左上角坐标

📜语法

FindPic x1, y1, x2, y2, 图片路径, 相似度, 返回坐标x, 返回坐标y

📥参数

参数数据类型解释
x1整数型屏幕查找区域左上角坐标x
y1整数型屏幕查找区域左上角坐标y
x2整数型屏幕查找区域右下角坐标x
y2整数型屏幕查找区域右下角坐标y
图片字符串查找的图片路径, 附件的路径为“Attachment:\”, 图片要求24位的BMP格式, 可以用抓抓截取图片, 当图片的4个角落颜色相同时, 则将图片中这个颜色视为透明色
相似度小数型取0.5到1之间的小数, 数值越大越相似
返回坐标x整数型变量返回找到的坐标x, 如果没找到返回-1, 仅支持写变量名
返回坐标y整数型变量返回找到的坐标y, 如果没找到返回-1, 仅支持写变量名

📤返回

💡示例

Dim x, y
//在范围0,0,1920,1080内以相似度0.9查找附件图片1.bmp, 结果保存在变量x,y中
FindPic 0, 0, 1920, 1080, "Attachment:\1.bmp", 0.9, x, y
If x > -1 Then
TracePrint "找到的图片坐标在" & intX & ", " & intY
Else
TracePrint "没找到图片"
End If
Dim x, y
PutAttachment "C:\", "1.bmp"
//在范围0,0,1920,1080内以相似度0.9查找硬盘上C:\1.bmp的图片, 结果保存在变量x,y中
FindPic 0, 0, 1920, 1080, "C:\1.bmp", 0.9, x, y
If x > -1 Then
TracePrint "找到的图片坐标在" & intX & ", " & intY
Else
TracePrint "没找到图片"
End If
//高级例子
//介绍: 支持多个颜色的限时找色命令
//图片: 多张图片以|隔开, 直接写图片名时表示附件图片, 任何一张图片找到立即返回结果
//时长: 单位毫秒, 指定时间内循环查找, 找到立即返回
//返回: 返回数组数据, 格式为[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

📘备注

  • 透明图是指当你图片4个角的颜色均相同时,则这张图片中所有这个颜色将被视为透明色,在找图匹配点过程中忽略这些点的颜色。
  • 在按键精灵2014.05版本中存在附件找图的BUG, 具体表现为FindPic找图命令使用附件图片进行查找时,会出现一次找到,一次找不到的问题。解决方法见: https://zimaoxy.com/b/t-744-1-1.html