查找符合的颜色 - FindColorEx
函数简介
在绑定窗口中查找符合指定颜色模型的第一个坐标点。此函数在指定区域内搜索符合颜色模型的数据并返回首个匹配坐标,支持多种搜索方向,可用于图像识别与自动化场景。
ColorModel:
颜色每个通道单独计算范围,如颜色范围位 3278FA,6496FF,实际对应 R(50~100) / G(120~150) / B(250~255)。
包含下限(>= StartColor) 与上限(<= EndColor);支持 ARGB 形式(如 #FFFFFFFF)。
支持反色/交集/并集等模式(按实现为准),示例:
{"StartColor":"3278FA","EndColor":"6496FF","Type":0}
x1,y1,x2,y2 传 0,0,0,0 为查找绑定窗口整个客户区;返回坐标为相对绑定窗口客户区坐标。
接口名称
FindColorEx
DLL调用
int FindColorEx(long ola, int x1, int y1, int x2, int y2, string colorJson, int dir, int* x, int* y)
参数定义:
ola(长整型数): OLAPlug对象指针,由 CreateCOLAPlugInterFace 生成。x1(整型数): 区域左上角 X 坐标y1(整型数): 区域左上角 Y 坐标x2(整型数): 区域右下角 X 坐标y2(整型数): 区域右下角 Y 坐标colorJson(字符串): 颜色模型配置字符串,用于限定颜色范围,格式说明见 颜色模型说明 - ColorModel。JSON格式示例:[{"StartColor":"3278FA","EndColor":"6496FF","Type":0}];简化格式示例:3278FA-000000|6496FF-202020或3278FA~6496FF或FF0000|00FF00dir(整型数): 查找方向- 0: 从左到右,从上到下
- 1: 从左到右,从下到上
- 2: 从右到左,从上到下
- 3: 从右到左,从下到上
- 4: 从中心往外查找
- 5: 从上到下,从左到右
- 6: 从上到下,从右到左
- 7: 从下到上,从左到右
- 8: 从下到上,从右到左
x(整型数指针): 返回匹配点 X 坐标y(整型数指针): 返回匹配点 Y 坐标
示例:
int x = 0, y = 0;
string cj = "[{\"StartColor\":\"3278FA\",\"EndColor\":\"6496FF\",\"Type\":0}]";
int ret = FindColorEx(ola, 0, 0, 0, 0, cj, 0, &x, &y);
if (ret == 1) {
// 找到坐标 (x, y)
}
返回值
整型数:
- 0: 未找到
- 1: 找到
注意事项
- 当
x1,y1,x2,y2全为 0 时,搜索整个绑定窗口客户区。 - 返回坐标为相对绑定窗口客户区坐标。
- 查找方向会影响效率与结果,建议根据实际需求选择合适的方向。
