查找指定区域内的所有颜色块 - FindColorBlockListPtr
函数简介
查找指定图像内符合指定颜色范围的所有颜色块坐标点
ColorModel:
颜色每个通道单独计算范围,如颜色范围位3278FA,6496FF,实际对应R(50~100) G(120 ~150) B(250 ~255)
支持ARGB模式如#FFFFFFFF
支持反色模式,交集并集查询颜色
- 0: 正常匹配,保留在颜色范围内的像素
- 1: 反色匹配,保留在颜色范围外的像素
- 2: 正常交集匹配,保留在颜色范围内的像素取交集
- 3: 反色交集匹配,保留在颜色范围外的像素取交集 如{"StartColor": "3278FA", "EndColor": "6496FF","Type":0}
接口名称
FindColorBlockListPtr
DLL调用
long FindColorBlockListPtr(long ola, long image_ptr, string colors, int min_count, int block_width, int block_height, int dedup)
参数定义:
ola
(长整型数): OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成。image_ptr
(长整型数): 要搜索的图片句柄。colors
(字符串): 颜色列表的JSON字符串,格式为:[{"StartColor": "3278FA", "EndColor": "6496FF", "Type": 0}]。其中Type取值:- 0: 正常匹配,保留在颜色范围内的像素
- 1: 反色匹配,保留在颜色范围外的像素
- 2: 正常交集匹配,保留在颜色范围内的像素取交集
- 3: 反色交集匹配,保留在颜色范围外的像素取交集
min_count
(整型数): 在指定宽高的颜色块中,符合颜色条件的最小像素数量。block_width
(整型数): 颜色块的宽度,单位为像素。block_height
(整型数): 颜色块的高度,单位为像素。dedup
(整型数): 是否去重:- 0: 不去重
- 1: 去重
COM调用
string FindColorBlockListPtr(long image_ptr, string colors, int min_count, int block_width, int block_height, int dedup)
参数定义:
image_ptr
(长整型数): 要搜索的图片句柄。colors
(字符串): 颜色列表的JSON字符串,格式为:[{"StartColor": "3278FA", "EndColor": "6496FF", "Type": 0}]。其中Type取值:- 0: 正常匹配,保留在颜色范围内的像素
- 1: 反色匹配,保留在颜色范围外的像素
- 2: 正常交集匹配,保留在颜色范围内的像素取交集
- 3: 反色交集匹配,保留在颜色范围外的像素取交集
min_count
(整型数): 在指定宽高的颜色块中,符合颜色条件的最小像素数量。block_width
(整型数): 颜色块的宽度,单位为像素。block_height
(整型数): 颜色块的高度,单位为像素。dedup
(整型数): 是否去重:- 0: 不去重
- 1: 去重
返回值
字符串:
[{"x":1,y:"2"},{"x":2,y:"1"}]
注意:
DLL调用返回字符串指针地址,需要调用 FreeStringPtr接口释放内存