FindColor 寻找颜色

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

功能

在区域范围内寻找指定颜色的坐标,支持多色、偏色、相似度,只返回第一个找到的坐标。

语法

序号 = FindColor(左上角x, 左上角y, 右下角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之间,越高越相似。
返回x坐标 数值型变参指针 返回的横坐标x,若没有找到,则返回-1。
返回y坐标 数值型变参指针 返回的纵坐标y,若没有找到,则返回-1。

返回值

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

示例

1
2
3
4
5
6
7
8
Dim intX, intY, 序号
//全屏查找颜色FFFFFF-101010与123456
序号 = FindColor(0, 0, 0, 0, "FFFFFF-101010|123456", 0, 0.9, intX, intY)
If 序号 > -1 Then
TracePrint "找到的颜色序号为:", 序号, ",坐标在", intX & ", " & intY
Else
TracePrint "所有颜色都没找到"
End If

备注

偏色是微调,指对RBG三色分别确定取色范围。相似度是粗调,指对颜色整体做百分比判断。