查找指定区域内的颜色块 - FindColorBlockPtrEx
函数简介
在内存图像中查找符合指定颜色范围的第一个颜色块中心点,支持方向优先策略。
接口名称
FindColorBlockPtrEx
DLL调用
int32_t FindColorBlockPtrEx(int64_t instance, int64_t ptr, string colorList,
int32_t count, int32_t width, int32_t height, int32_t dir,
int32_t* x, int32_t* y)
参数定义
instance(长整型数): OLAPlug对象指针,由 CreateCOLAPlugInterFace 生成ptr(长整型数): 图像句柄colorList(字符串): 颜色模型配置字符串,用于限定图像匹配中的颜色范围,格式说明见 颜色模型说明 - ColorModel。JSON格式示例:[{"StartColor":"3278FA","EndColor":"6496FF","Type":0}];简化格式示例:3278FA-000000|6496FF-202020或3278FA~6496FF或FF0000|00FF00count(整型数): 在width×height的色块中,需满足颜色条件的最小像素数量width(整型数): 颜色块的宽度,单位为像素。height(整型数): 颜色块的高度,单位为像素。dir(整型数): 查找方向- 0: 左→右,上→下
- 1: 左→右,下→上
- 2: 右→左,上→下
- 3: 右→左,下→上
- 4: 从中心向外
- 5: 上→下,左→右
- 6: 上→下,右→左
- 7: 下→上,左→右
- 8: 下→上,右→左
x(整型数指针): 返回找到的颜色块左上角的X坐标。y(整型数指针): 返回找到的颜色块左上角的Y坐标。
示例
int x = 0, y = 0;
string colorList = "[{\"StartColor\":\"FFFFFF\",\"EndColor\":\"FFFFFF\",\"Type\":0}]";
int32_t ret = FindColorBlockPtrEx(ola, image_ptr, colorList, 5, 10, 10, 4, &x, &y);
返回值
- 0: 未找到
- 1: 找到
