跳到主要内容

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

🎯功能

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

📜语法

结果 = 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之间,越高越相似。

📤返回

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

💡示例

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个以上,以免造成数据溢出。