点阵颜色列表格式说明 - PointColorListFormat
概述
pointColorList 点阵颜色列表用于在 FindMultiColor、FindMultiColorList 等接口中定义多个参考点的颜色信息。 本说明文档统一介绍所有支持的点阵颜色列表表示方式,接口文档只需简单引用本页即可。
1. JSON 格式(原有写法,完全兼容)
[
{
"Point": {"X": 0, "Y": 2},
"Colors": [
{
"StartColor": "#0A7497",
"EndColor": "#0A7497",
"Type": 0
}
]
},
{
"Point": {"X": -5, "Y": -3},
"Colors": [
{
"StartColor": "#123456",
"EndColor": "#050607",
"Type": 0
},
{
"StartColor": "#454545",
"EndColor": "#303030",
"Type": 0
},
{
"StartColor": "#565656",
"EndColor": "#565656",
"Type": 0
}
]
}
]
Point表示相对于第一个点的坐标偏移量(X, Y)Colors数组包含该点需要匹配的颜色列表StartColor/EndColor支持以下形式:#AARRGGBBAARRGGBB#RRGGBBRRGGBB
Type说明:0:正常匹配(保留在颜色范围内的像素)1:反色匹配(保留在颜色范围外的像素)2:正常交集匹配3:反色交集匹配
2. 简化字符串格式(新增)
基本格式
颜色列表1,坐标偏移X|坐标偏移Y|颜色列表2|颜色列表3|...
格式说明
- 第一个点:直接写颜色列表,不需要坐标(默认为 0,0)
- 坐标偏移:使用
,X|Y格式,表示相对于第一个点的偏移量X为 X 坐标偏移(可为负数,如-5)Y为 Y 坐标偏移(可为负数,如-3)
- 后续点:使用
|分隔,每个点包含其颜色列表 - 颜色格式:支持以下格式(参考 颜色模型说明 - ColorModel):
- 单独颜色:
RRGGBB或#RRGGBB - 偏色区间:
RRGGBB-DRDGDB(基准色-偏移量) - 多个颜色用
|分隔
- 单独颜色:
示例
示例 1:简单点阵
aabbcc,-5|-3|123456
对应含义:
- 第一个点(0, 0):颜色
aabbcc - 第二个点(-5, -3):颜色
123456
示例 2:多颜色点阵
aabbcc|aaffaa-101010,-5|-3|123456-050607|454545-303030|565656
对应含义:
- 第一个点(0, 0):颜色列表
aabbcc(精确颜色)aaffaa-101010(偏色区间,基准色aaffaa,允许偏移101010)
- 第二个点(-5, -3):颜色列表
123456-050607(偏色区间)454545-303030(偏色区间)565656(精确颜色)
示例 3:多个点
ff0000,10|5|00ff00,20|10|0000ff
对应含义:
- 第一个点(0, 0):颜色
ff0000(红色) - 第二个点(10, 5):颜色
00ff00(绿色) - 第三个点(20, 10):颜色
0000ff(蓝色)
格式规则
- 第一个点:不需要坐标偏移,直接写颜色列表
- 坐标偏移格式:
,X|Y(逗号后跟 X 偏移,竖线后跟 Y 偏移) - 颜色分隔:同一点的多个颜色用
|分隔 - 点分隔:不同点之间用
|分隔,但坐标偏移前用,标识 - 颜色格式:支持单独颜色、偏色区间等(详见 颜色模型说明 - ColorModel)
注意事项
- 坐标偏移可以为负数,表示向左或向上偏移
- 颜色格式支持所有 颜色模型说明 - ColorModel 中定义的格式
- 简化格式相比 JSON 格式更易书写,但功能完全等价
- 建议在简单场景使用简化格式,复杂场景使用 JSON 格式以获得更好的可读性
