牙叔教程 简单易懂
环境
手机: Mi 11 Pro
Android版本: 11
Autojs版本: 9.0.11
电脑: win10
测试代码
先截图, 然后裁剪通知栏左侧的时间
back(); sleep(1000); $app.launchApp("QQ"); engines.all().map((ScriptEngine) => { if (engines.myEngine().toString() !== ScriptEngine.toString()) { ScriptEngine.forceStop(); } }); /* -------------------------------------------------------------------------- */ threads.start(function () { let view = text("立即开始").visibleToUser(true).boundsInside(0, 0, device.width, device.height).findOne(); view.click(); }); // 请求截图 if (!requestScreenCapture()) { toast("请求截图失败"); exit(); } /* -------------------------------------------------------------------------- */ sleep(1000); let imgPath = "/sdcard/脚本/1.png"; var img = captureScreen(); // let 时间所在区域 = [207, 66, 393, 125]; // 左上右下 let 时间所在区域 = [207, 66, 188, 70]; // 左上右下 var clip = images.clip(img, 时间所在区域[0], 时间所在区域[1], 时间所在区域[2], 时间所在区域[3]); images.save(clip, imgPath); $app.viewFile(imgPath); clip.recycle(); let view = text("查看图片") .visibleToUser(true) .boundsInside(0, device.height / 2, device.width, device.height) .findOne(); view.parent().click();
本来我计算好坐标了,
可是他裁剪之后居然还有时间之外的东西,
我就慢慢调整left top right bottom 的参数
// let 时间所在区域 = [207, 66, 393, 125]; // 左上右下 let 时间所在区域 = [207, 66, 188, 70]; // 左上右下
仔细看
left=207, right=188, left > right,
而且 top=66, bottom=70, 时间怎么可能只有5个像素,
我们再看看图片详情
图片是 188X70px,
晕了, 到底是哪里有问题,
因为images.clip的参数是 左 上 宽 高, 而不是 左上右下
名人名言
思路是最重要的, 其他的百度, bing, stackoverflow, github, 安卓文档, autojs文档, 最后才是群里问问
--- 牙叔教程
声明
部分内容来自网络
本教程仅用于学习, 禁止用于其他用途