图色封装
截图
提示
图色截图数据返回值,保存在gScreen中
keepScreen保持屏幕数据,优化速度
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| 无 | 无 | 无 | 无 |
//截图数据保存在gScreen中
keepScreen()
| 返回值 | 类型 | 说明 |
|---|---|---|
| true/false | boolean | 是否截图成功 |
keepScreenJpg 保持屏幕数据,优化速度
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| 无 | 无 | 无 | 无 |
//截图数据保存在gScreen中
keepScreenJpg()
| 返回值 | 类型 | 说明 |
|---|---|---|
| true/false | boolean | 是否截图成功 |
keepScreenPng 保持屏幕数据,优化速度
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| 无 | 无 | 无 | 无 |
//截图数据保存在gScreen中
keepScreenPng()
| 返回值 | 类型 | 说明 |
|---|---|---|
| true/false | boolean | 是否截图成功 |
比色
cmpColor多点比色封装,需要手动截图和释放
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| color | 是 | string | 颜色点阵 |
| threshold | 否 | float | 相似度,默认0.9 |
if (keepScreen()) {
//默认不填相似度
if (cmpColor("291|1252|#515151-#101010,246|1241|#2B2B2B-#101010,105|617|#DFDFDF-#101010,305|260|#D5D5D5-#101010,499|265|#CECECE-#101010")) {
logd("首页")
clickPoint(111, 222)
sleep(500)
}
//修改相似度0.8
if (cmpColor("291|1252|#515151-#101010,246|1241|#2B2B2B-#101010,105|617|#DFDFDF-#101010,305|260|#D5D5D5-#101010,499|265|#CECECE-#101010", 0.8)) {
logd("首页")
clickPoint(111, 222)
sleep(500)
}
}
| 返回值 | 类型 | 说明 |
|---|---|---|
| true/false | boolean | 是否找到 |
cmpColorEx多点比色Ex封装,不需要手动截图和释放
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| color | 是 | string | 颜色点阵 |
| threshold | 否 | float | 相似度,默认0.9 |
//默认不填相似度
if (cmpColorEx("291|1252|#515151-#101010,246|1241|#2B2B2B-#101010,105|617|#DFDFDF-#101010,305|260|#D5D5D5-#101010,499|265|#CECECE-#101010")) {
logd("首页")
clickPoint(111, 222)
sleep(500)
}
//修改相似度0.8
if (cmpColorEx("291|1252|#515151-#101010,246|1241|#2B2B2B-#101010,105|617|#DFDFDF-#101010,305|260|#D5D5D5-#101010,499|265|#CECECE-#101010", 0.8)) {
logd("首页")
clickPoint(111, 222)
sleep(500)
}
| 返回值 | 类型 | 说明 |
|---|---|---|
| true/false | boolean | 是否找到 |
cmpMultiColor多组比色封装,需要手动截图和释放
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| color | 是 | string | 颜色点阵 |
| threshold | 否 | float | 相似度,默认0.9 |
提示
- 全局返回值gCmpKey格式,返回颜色色点的key具体值
- 具体使用参考VIP视频教程
let 流程_进入微信注册 = {
"桌面": "611|508|#07C762-#101010,609|472|#FFFFFF-#101010,654|325|#FFC600-#101010,636|303|#FEC106-#101010,503|501|#20091B-#101010",
"选择注册": "172|1246|#0E9956-#101010,157|1246|#F2F2F2-#101010,540|1247|#FFFCFA-#101010,498|1249|#07C160-#101010,491|1148|#030F1B-#101010",
"选择注册方式": "208|865|#07C160-#101010,270|875|#FFFDFF-#101010,187|1064|#2C2C2C-#101010,214|1062|#2C2C2C-#101010,434|1063|#DBDBDB-#101010",
"注册页": "291|1252|#515151-#101010,246|1241|#2B2B2B-#101010,105|617|#DFDFDF-#101010,305|260|#D5D5D5-#101010,499|265|#CECECE-#101010",
}
let 临时色对象 = cmpPreParse(流程_进入微信注册)
tag_进入注册页: while (true) {
sleep(10)
if (!keepScreen()) {
continue
}
//默认相似度0.9
if (cmpMultiColor(img, 临时色对象)) {
//指定相似度
//if (cmpMultiColor(img, 临时色对象, 0.8)) {
logd("当前页面是:" + gCmpKey)
switch (gCmpKey) {
case "桌面":
clickPoint(633, 474)
sleep(500)
break
case "选择注册":
clickPoint(553, 1248)
sleep(500)
break
case "选择注册方式":
clickPoint(381, 872)
sleep(500)
break
case "注册页":
break tag_进入注册页
}
}
}
logd("脚本结束")
| 返回值 | 类型 | 说明 |
|---|---|---|
| 桌面 | String | 颜色对象的key值 |
cmpMultiColorEx多组比色Ex封装,不需要手动截图和释放
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| color | 是 | string | 颜色点阵 |
| threshold | 否 | float | 相似度,默认0.9 |
提示
- 全局返回值gCmpKey格式,返回颜色色点的key具体值
- 具体使用参考VIP视频教程
let 流程_进入微信注册 = {
"桌面": "611|508|#07C762-#101010,609|472|#FFFFFF-#101010,654|325|#FFC600-#101010,636|303|#FEC106-#101010,503|501|#20091B-#101010",
"选择注册": "172|1246|#0E9956-#101010,157|1246|#F2F2F2-#101010,540|1247|#FFFCFA-#101010,498|1249|#07C160-#101010,491|1148|#030F1B-#101010",
"选择注册方式": "208|865|#07C160-#101010,270|875|#FFFDFF-#101010,187|1064|#2C2C2C-#101010,214|1062|#2C2C2C-#101010,434|1063|#DBDBDB-#101010",
"注册页": "291|1252|#515151-#101010,246|1241|#2B2B2B-#101010,105|617|#DFDFDF-#101010,305|260|#D5D5D5-#101010,499|265|#CECECE-#101010",
}
let 临时色对象 = cmpPreParse(流程_进入微信注册)
tag_进入注册页: while (true) {
//默认相似度0.9
if (cmpMultiColorEx(临时色对象)) {
//指定相似度
//if (cmpMultiColorEx(临时色对象, 0.8)) {
logd("当前页面是:" + gCmpKey)
switch (gCmpKey) {
case "桌面":
clickPoint(633, 474)
sleep(500)
break
case "选择注册":
clickPoint(553, 1248)
sleep(500)
break
case "选择注册方式":
clickPoint(381, 872)
sleep(500)
break
case "注册页":
break tag_进入注册页
}
}
sleep(10)
}
logd("脚本结束")
| 返回值 | 类型 | 说明 |
|---|---|---|
| 桌面 | String | 颜色对象的key值 |
cmpPreParse多点比色预处理
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| colors | 是 | Object | 未处理的颜色对象 |
let 流程_进入微信注册 = {
"桌面": "611|508|#07C762-#101010,609|472|#FFFFFF-#101010,654|325|#FFC600-#101010,636|303|#FEC106-#101010,503|501|#20091B-#101010",
"选择注册": "172|1246|#0E9956-#101010,157|1246|#F2F2F2-#101010,540|1247|#FFFCFA-#101010,498|1249|#07C160-#101010,491|1148|#030F1B-#101010",
"选择注册方式": "208|865|#07C160-#101010,270|875|#FFFDFF-#101010,187|1064|#2C2C2C-#101010,214|1062|#2C2C2C-#101010,434|1063|#DBDBDB-#101010",
"注册页": "291|1252|#515151-#101010,246|1241|#2B2B2B-#101010,105|617|#DFDFDF-#101010,305|260|#D5D5D5-#101010,499|265|#CECECE-#101010",
}
let 临时色对象 = cmpPreParse(流程_进入微信注册)
| 返回值 | 类型 | 说明 |
|---|---|---|
{{keys: *[], values: *[]}} | Object | 处理好的颜色对象 |
找色
findColor 单点找色封装,需截图
提示
找到的坐标保存在gPoint里
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| color | 是 | string | 颜色点阵 |
| startX | 否 | int | 范围起点x坐标,默认0,全屏 |
| startY | 否 | int | 范围起点y坐标,默认0,全屏 |
| endX | 否 | int | 范围终点x坐标,默认0,全屏 |
| endY | 否 | int | 范围终点y坐标,默认0,全屏 |
| threshold | 否 | float | 相似度,默认0.9 |
| orz | 否 | int | 查找方向,默认1 |
if (keepScreen()) {
//只填颜色,其他默认
if (findColor("#909CB2-#101010,#0D1518-#101010,#878F9A-#101010,#091114-#101010")) {
logd("找到色点", JSON.stringify(gPoint))
clickPoint(gPoint.x, gPoint.y)
sleep(500)
}
//限制范围
if (findColor("#909CB2-#101010,#0D1518-#101010,#878F9A-#101010,#091114-#101010", 100, 100, 500, 500)) {
logd("找到色点", JSON.stringify(gPoint))
clickPoint(gPoint.x, gPoint.y)
sleep(500)
}
//限制范围,指定相似度
if (findColor("#909CB2-#101010,#0D1518-#101010,#878F9A-#101010,#091114-#101010", 100, 100, 500, 500, 0.8)) {
logd("找到色点", JSON.stringify(gPoint))
clickPoint(gPoint.x, gPoint.y)
sleep(500)
}
//限制范围,指定相似度,指定查找方向
if (findColor("#909CB2-#101010,#0D1518-#101010,#878F9A-#101010,#091114-#101010", 100, 100, 500, 500, 0.8, 2)) {
logd("找到色点", JSON.stringify(gPoint))
clickPoint(gPoint.x, gPoint.y)
sleep(500)
}
}
| 返回值 | 类型 | 说明 |
|---|---|---|
{x:500,y:600} | Object | 坐标点x,y对象 |