查找符合的颜色 - FindColor
函数简介
查找绑定窗口指定区域内符合指定颜色范围的第一个坐标点,支持多种搜索方向。
接口名称
FindColor
DLL调用
int FindColor(long ola, int x1, int y1, int x2, int y2, string color1, string color2, int dir, int* intX, int* intY);
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| ola | 长整数型 | OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成。 |
| x1 | 整数型 | 区域的左上X坐标 |
| y1 | 整数型 | 区域的左上Y坐标 |
| x2 | 整数型 | 区域的右下X坐标 |
| y2 | 整数型 | 区域的右下Y坐标 |
| color1 | 字符串 | 颜色起始范围,格式 RRGGBB,支持ARGB模式如#FFFFFFFF |
| color2 | 字符串 | 颜色结束范围,格式 RRGGBB,支持ARGB模式如#FFFFFFFF |
| dir | 整数型 | 查找方向:0 左→右上→下、1 左→右下→上、2 右→左上→下、3 右→左下→上、4 从中心往外、5 上→下左→右、6 上→下右→左、7 下→上左→右、8 下→上右→左 |
| intX | 整数型指针 | 返回X坐标 |
| intY | 整数型指针 | 返回Y坐标 |
示例
int x = 0, y = 0;
int ret = FindColor(ola, 0, 0, 0, 0, "057093", "057093", 0, &x, &y);
if (ret == 1) {
printf("找到颜色点,坐标:(%d, %d)\n", x, y);
}
返回值
整数型:1 成功,0 失败。
注意事项
- x1, y1, x2, y2 全传0时查找整个窗口客户区。
- 返回的坐标是相对于窗口客户区的坐标。
- 每个通道单独计算范围,包含下限(>= color1) 包含上限(<= color2)。
