函数名称:多点找色,区域多点找色
函数功能:在指定区域,根据基准点颜色以及其周边参照点的相对坐标颜色,寻找符合条件的点的坐标,支持模糊查找。
函数方法
x, y = findMultiColorInRegionFuzzy(color,posandcolors,degree,x1,y1,x2,y2,tab)
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
color | number | 是 | 基准点颜色 |
posandcolors | string | 是 | 周边参照点颜色参数; 在周边参考点颜色值前加 ~ 表示与基准点颜色不匹配的颜色 (也可以加反色值), 此功能引擎版本仅支持 iOS v3.1.7 及其以上版本 |
degree | number | 是 | 寻找精度,范围:1 ~ 100,当是 100 时为完全匹配 |
x1 | number | 是 | 找色区域左上角顶点屏幕横坐标 |
y1 | number | 是 | 找色区域左上角顶点屏幕纵坐标 |
x2 | number | 是 | 找色区域右下角顶点屏幕横坐标 |
y2 | number | 是 | 找色区域右下角顶点屏幕纵坐标 |
tab | table | 否 | 高阶用法 |
高阶用法
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
orient | number | 否 | 0 - 8 代表找色方向,支持版本详见注意事项 |
main | number | 否 | 基准点的偏色,支持引擎版本 iOS v2.4.1, Andriod v2.3.5.4 以上版本, 例如 main = 0x101010(十六进制) |
list | number | 否 | 周边参照点的偏色,支持引擎版本 iOS v2.4.1, Andriod v2.3.5.4 以上版本, 例如 list = 0x202020(十六进制) |
max_miss | number | 否 | 最大不匹配数,默认 0,代表所有参考点都匹配; 1 代表其中 1 个点不匹配,仅支持引擎版本 iOS v3.0.7、 Android v3.1.3 及其以上版本 |
返回值 | 类型 | 说明 |
---|---|---|
x, y | number | 返回符合条件的基准点的坐标,如未找到则返回 -1,-1 |
扩展阅读:区域多点找色的基础和高阶用法
函数用例
多方向找色方法
--tab 参数需要引擎版本:iOS 3.0.0-118,Android 2.3.5 以上支持--max_miss 参数仅支持专业版 iOS v3.0.7 及其以上版本x,y = findMultiColorInRegionFuzzy( 0x000000, "0|0|0x000000", 95, 0, 0, 500, 500, { orient = 1,["max_miss"] = 3 } )
偏色用法
--另外一种偏色模式,引擎版本 iOS v2.4.1,Andriod v2.3.5.4 以上支持--main 为参照点 0xffffff 的偏色,list 为参照点的偏色,如果想对每一个参照点单独偏色,在每一个偏色后面加上偏色值即可,如 "0|0|0x1ac819|0x202020"x, y = findMultiColorInRegionFuzzy(0xffffff,"0|0|0x1ac819,-4|-208|0x18cb76,3|58|0x21cc79",90,0,0,500,500,{ main = 0x101010, list = 0x202020 })dialog(x..","..y,0)
反色用法
--与基准点不匹配的颜色,也可以叫反色,可用于匹配不规则图形--可用于找不固定位置广告右上角的 × 号,如 × 号的颜色是白色,周边参数点不是白色,可以使用此函数fwShowWnd("window1",0,0,100,100,1)fwShowTextView("window1","text1","","center","000000","ffffff",20,0,0,40,100,60,1)fwShowTextView("window1","text2","","center","000000","ffffff",20,0,40,0,60,100,1)mSleep(2000)x,y = findMultiColorInRegionFuzzy( 0xffffff, "0xffffff,36|7|0xffffff,-38|6|0xffffff,-36|-24|~0xffffff,23|-20|~0xffffff,29|27|~0xffffff", 90, 0, 0, 300, 300)if x~=-1 then dialog("x:"..x.."\n".."y:"..y)else dialog("未找到")end