FindPic 找图

文章目录
  1. 1. 功能
  2. 2. 语法
  3. 3. 参数
  4. 4. 返回值
  5. 5. 示例
  6. 6. 备注

功能

在区域范围内寻找指定图片的坐标,支持多图、偏色、相似度、透明图,只返回找到的第一个左上角坐标。

语法

序号 = FindPic(左上角x, 左上角y, 右下角x, 右下角y, 图片, 偏色, 方向, 相似度, 返回x坐标, 返回y坐标)

参数

参数 数据类型 解释
左上角x 数值型 查找区域范围的左上角x坐标,区域范围全为0时表示全屏查找。
左上角y 数值型 查找区域范围的左上角y坐标,区域范围全为0时表示全屏查找。
右下角x 数值型 查找区域范围的右下角x坐标,区域范围全为0时表示全屏查找。
右下角y 数值型 查找区域范围的右下角y坐标,区域范围全为0时表示全屏查找。
图片 字符串 查找的图片路径,附件的路径为“Attachment:”,多个图片路径用“|”隔开,支持透明图,支持PNG、BMP、JPG等格式。
偏色 字符串 16进制颜色,格式为“BBGGRR”。
方向 数值型 查找方向,0表示从左上到右下;1表示从中心往四周;2表示从右下到左上;3表示从左下到右上;4表示从右上到左下。
相似度 数值型 小数,颜色相似度,取值范围0到1之间,越高越相似。
返回x坐标 数值型变参指针 返回的横坐标x,若没有找到,则返回-1。
返回y坐标 数值型变参指针 返回的纵坐标y,若没有找到,则返回-1。

返回值

数值型,返回找到的图片序号,从0开始索引,没找到返回-1。坐标保存在变参指针中。

示例

1
2
3
4
5
6
7
8
9
Dim intX, intY, 序号
//将图片1.png放到附件中,然后全屏查找图片1.png
//查找要求:全屏查找,偏色为202020,相似度为0.8,方向从左上到右下
序号 = FindPic(0, 0, 0, 0, "Attachment:1.png", "202020", 0, 0.8, intX, intY)
If 序号 > -1 Then
TracePrint "找到的图片序号为:", 序号, ",坐标在", intX & ", " & intY
Else
TracePrint "所有图片都没找到"
End If

备注

  • 偏色是微调,指对RBG三色分别确定取色范围。相似度是粗调,指对颜色整体做百分比判断。
  • 透明图是指当你图片4个角的颜色均相同时,则这张图片中所有这个颜色将被视为透明色,在找图匹配点过程中忽略这些点的颜色。另外,透明图也支持PNG格式图片中的透明点。