跳到主要内容

FindColor 寻找颜色

🎯功能

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

提示

📜语法

序号 = 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。坐标保存在变参指针中。

💡示例

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三色分别确定取色范围。相似度是粗调,指对颜色整体做百分比判断。