您当前的位置: 首页 >  宴西笔记

Auto.js 一个同一张图片多次多点找色的例子ColorMapping.findMultiColors

宴西笔记 发布时间:2022-01-29 23:32:25 ,浏览量:4

ColorMapping.findMultiColors(firstColor, colors, options)

firstColor {number | string} 第一个点的颜色

colors {Array} 表示剩下的点相对于第一个点的位置和颜色的数组,数组的每个元素为[x, y, color] options {Object} 选项,包括: region {Array} 找色区域。是一个两个或四个元素的数组。(region[0], region[1])表示找色区域的左上角;region[2]*region[3]表示找色区域的宽高。如果只有region只有两个元素,则找色区域为(region[0], region[1])到图片右下角。如果不指定region选项,则找色区域为整张图片。 threshold {number} 找色时颜色相似度的临界值,范围为0 ~ 255(越小越相似,0为颜色相等,255为任何颜色都能匹配)。默认为4。threshold和浮点数相似度(0.0~1.0)的换算为 similarity = (255 - threshold) / 255。 返回 {Point} 多点找色,与images.findMultiColors类似,但多次在同一张图片中找色速度极快。

一个同一张图片多次多点找色的例子 这个官方例子是错的

// 申请截图权限

$images.requestScreenCapture();
// 初始化ColorMapping
let ColorMapping = $colors.mapping;
// 创建ColorMapping实例
let cm = new ColorMapping();
// 截屏
let img = $images.captureScreen();
// 初始化颜色映射
cm.reset(img);
// 使用ColorMapping多点找色
let p1 = cm.findMultiColors("#ff00ff", [[10, 20, "#ffffff"], [30, 40, "#000000"]]);
let p2 = cm.findMultiColors("#ff00ff", [[10, 20, "#ffffff"], [30, 40, "#000000"]]);
log("p1" + p1 + "p2" + p2);
// 释放ColorMapping
cm.recycle();

正确写法

// 申请截图权限

images.requestScreenCapture();
// 初始化ColorMapping
let ColorMapping = $colors.mapping;
// 创建ColorMapping实例
let cm = new ColorMapping();
// 截屏
let img = images.captureScreen();
// 初始化颜色映射
cm.reset(img);
// 使用ColorMapping多点找色
let p1 = cm.findMultiColors("#ffffff", [[10, 20, "#ffffff"], [30, 40, "#ffffff"]]);
let p2 = cm.findMultiColors("#ffffff", [[10, 20, "#ffffff"], [30, 40, "#ffffff"]]);
log("p1" + p1 + "p2" + p2);
// 释放ColorMapping
cm.recycle();

加相似度例子

// 申请截图权限

images.requestScreenCapture();
// 初始化ColorMapping
let ColorMapping = $colors.mapping;
// 创建ColorMapping实例
let cm = new ColorMapping();
sleep(1000)
// 截屏
let img = images.captureScreen();
// 初始化颜色映射
cm.reset(img);
// 使用ColorMapping多点找色
//let p1 = cm.findMultiColors("#ffffff", [[10, 20, "#ffffff"], [30, 40, "#ffffff"]]);
let p2 = cm.findMultiColors('#ffffffff', [
    [-6, 1, '#ff009688'],
    [3, -3, '#ff009688'],
    [11, -3, '#ff009688'],
    [20, 1, '#ff009688'],
    [16, 0, '#ffffffff'],
    [2, 5, '#ffffffff'],
    [12, 5, '#ffffffff'],
    [7, 15, '#ff009688'],
    [-3, 15, '#ffffffff'],
    [-9, 10, '#ffffffff'],
    [-10, 15, '#ff009688'],
    [18, 14, '#ffffffff'],
    [26, 15, '#ff009688'],
    [24, 6, '#ff009688'],
    [8, 25, '#ff009688'],
    [-8, 24, '#ff009688'],
    [26, 25, '#ff009688'],
    [17, 25, '#ffffffff'],
    [19, 20, '#ffffffff'],
    [7, 20, '#ffffffff'],
    [-3, 20, '#ffffffff'],
    [-3, 25, '#ffffffff'],
    [-10, 30, '#ffffffff'],
    [-8, 34, '#ff009688'],
    [1, 32, '#ffffffff'],
    [10, 32, '#ffffffff'],
    [20, 38, '#ff009688'],
    [-2, 40, '#ff009688']
], {
    threshold: 0.9
});
log(p2);
click(p2.x,p2.y)
// 释放ColorMapping
cm.recycle();

QQ群 568523841

关注
打赏
1688896170
查看更多评论

宴西笔记

暂无认证

  • 4浏览

    0关注

    82博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.4013s