Image.FindMultiColor 多点找色返回全部坐标

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

功能

根据多点找色条件返回所有的坐标。

语法

结果 = Image.FindMultiColor(左上角x, 左上角y, 右下角x, 右下角y, 第一点颜色, 偏移颜色组, 方向, 相似度)

参数

参数 数据类型 解释
左上角x 数值型 查找区域范围的左上角x坐标,区域范围全为0时表示全屏查找。
左上角y 数值型 查找区域范围的左上角y坐标,区域范围全为0时表示全屏查找。
右下角x 数值型 查找区域范围的右下角x坐标,区域范围全为0时表示全屏查找。
右下角y 数值型 查找区域范围的右下角y坐标,区域范围全为0时表示全屏查找。
第一点颜色 字符串 要查找的16进制颜色,格式为“BBGGRR”,多个颜色用“|”隔开,偏色使用“-”隔开,比如”FFFFFF-101010|123456”。
偏移颜色组 字符串 相对与第一个颜色坐标点的偏移颜色组,推荐用抓抓工具快速生成,详见下方备注。
方向 数值型 查找方向,0表示从左上到右下;1表示从中心往四周;2表示从右下到左上;3表示从左下到右上;4表示从右上到左下。
相似度 数值型 小数,颜色相似度,取值范围0到1之间,越高越相似。

返回值

二维数组,返回所有找到的坐标组成的二维数组,格式为(索引, 坐标),详见例子。

示例

1
2
3
4
5
6
7
8
9
10
11
Dim 坐标表 = Image.FindMultiColor(0,0,0,0,"D97700","-34|10|D97700,0|27|D97700",0,0.9)
Dim 最大下标 = UBound(坐标表)
TracePrint "一共找到了", 最大下标 + 1, "个点"
If 最大下标 > -1 Then
For i = 0 To 最大下标
TracePrint 坐标表(i, 0) //输出找到的第i个x坐标
TracePrint 坐标表(i, 1) //输出找到的第i个y坐标
Next
Else
TracePrint "没有找到符合条件的点"
End If

备注

  • FindMultiColor 多点找色最大的区别是本命令返回所有符合条件的点。
  • 查找的指定颜色点数量尽量多于3个以上,以免造成数据溢出。