autojs-图片篇<匹配图片中颜色位置>

注释很详细,直接上代码

自动点击授予权限的操作

//安卓版本高于Android 9
if(device.sdkInt>28){
    //等待截屏权限申请并同意
    threads.start(function () {
        packageName('com.android.systemui').text('立即开始').waitFor();
        text('立即开始').click();
    });
}

截图查相应位置颜色的常规操作

//查询屏幕宽高(单位像素)
/*
var x=device.width
var y=device.height
*/
//设置设置脚本坐标点击所适合的屏幕宽高
//如果脚本运行时,屏幕宽度不一致会自动放缩坐标
setScreenMetrics(x,y)

//显示控制台输出框
console.show()

//请求截图权限
//每次使用该函数都会弹出截图权限请求,建议选择“总是允许”。
if(!requestScreenCapture()){
    toast("请求截图失败");
    exit();
}

sleep(1000)
//获取手机中程序所在的目录
var pos = files.cwd()
path_1=pos+"/jt_1.jpg"
//截图
images.captureScreen(path_1)

//读取对应的图片内容
var img_1=images.read(path_1)

//查找该图片对应坐标位置的颜色值(返回的是数字型)
var cor_1_num=images.pixel(img_1, 915,272)

//转化为字符串型
var col_1_string=colors.toString(cor_1_num)

//打印一下看看效果
console.info(col_1_string)

获取并保存图片的操作

//图片网络地址
url="https://img-home.csdnimg.cn/images/20231127094140.jpg"

//获取手机中程序所在的目录
var pos = files.cwd()

//拼接路径
path_1=pos+"/img_1.jpg"
path_2=pos+"/img_2.jpg"
//载入图片
var img_1=images.load(url)
//保存图片(第一种)
//1.保存的图片
//2.保存的路径
//3.保存的格式
//4.保存的图片质量(0~100)
images.save(img_1, path_1, format = "jpg", quality = 100)

//保存图片(第二种)
img_1.saveTo(path_2)

相似类颜色位置搜索常规操作

//申请权限
requestScreenCapture();
//暂停一会
sleep(2000)
//找到颜色(#354df8)得到坐标
var img = captureScreen();
//匹配对应颜色
//region的内容分别是所查找区域的左上角坐标,区域的宽高
//threshold的内容是相似度
var point = findColor(img, "#354df8", {
    region: [0, 0, 1080, 2400],
    threshold: 4});
    //如果找到
if(point){
    toastLog("找到对应,坐标为(" + point.x + ", " + point.y + ")");
}
//验证一下颜色
var cor_num=images.pixel(img, point.x,point.y)
var img_string=colors.toString(cor_num)
log(img_string)

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码对我眨眼睛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值