FindColor 找色

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

功能

在指定坐标区域范围内寻找单个或多个颜色并返回序号与坐标。

语法

序号, x, y = FindColor([x1, y1, x2, y2, ]颜色[, 相似度[, 查找方向])

参数

参数 数据类型 解释
x1 整数型 可选,范围左上角横坐标x,省略默认为null,表示全屏范围(若绑定过窗口,则为窗口范围)
y1 整数型 可选,范围左上角纵坐标y,省略默认为null,表示全屏范围(若绑定过窗口,则为窗口范围)
x2 整数型 可选,范围右下角横坐标x,省略默认为null,表示全屏范围(若绑定过窗口,则为窗口范围)
y2 整数型 可选,范围右下角纵坐标y,省略默认为null,表示全屏范围(若绑定过窗口,则为窗口范围)
颜色 字符串 要查找的BGR格式十六进制颜色,多个颜色使用|分开,每个颜色可以使用-添加偏色值,当偏色存在时,该颜色的相似度参数将失效。
相似度 小数型 可选,相似度范围取值0到1之间的小数,省略默认为1。
查找方向 整数型 可选,查找的方向顺序,详细取值见下方表格,省略默认为0。
查找方向取值 解释
0 从左到右,从上到下
1 从左到右,从下到上
2 从右到左,从上到下
3 从右到左,从下到上
4 从中间向四周扩散

返回值

多个返回值,具体如下:

返回值 数据类型 解释
序号 整数型 找到颜色的索引序号,从0开始,没找到为-1
横坐标 整数型 找到颜色的横坐标x,没找到返回-1
纵坐标 整数型 找到颜色的纵坐标y,没找到返回-1

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
' 判断在全屏范围内能否找到白色或黑色
If FindColor("FFFFFF|000000") > -1 Then
TracePrint "找到颜色"
End If
' 找多个颜色,输出返回结果和坐标
Dim idx, x, y
idx, x, y = FindColor(0, 0, 100, 100, "FFFFFF|000000")
If idx = 0 Then
TracePrint "找到白色FFFFFF,在坐标:", x, ",", y
ElseIf idx = 1 Then
TracePrint "找到黑色000000,在坐标:", x, ",", y
Else
TracePrint "没有找到白色或黑色。"
End If

备注