left比right大也可以正常裁剪图片

简介: 牙叔教程 简单易懂

牙叔教程 简单易懂


环境

手机: 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文档, 最后才是群里问问
--- 牙叔教程


声明


部分内容来自网络
本教程仅用于学习, 禁止用于其他用途

相关文章
|
6月前
|
移动开发 前端开发 API
HTML5 Canvas 填充与描边(Fill And Stroke)
HTML5 Canvas 填充与描边(Fill And Stroke)
86 3
|
存储 编解码 算法
高度优先左高树(Height-Based Left-Triangle,
高度优先左高树(Height-Based Left-Triangle,简称HBLT)是一种用于压缩图像和图形数据的算法。它通过将图像或图形分割成三角形,并对这些三角形进行编码和存储,从而实现压缩。这种方法可以在保持视觉质量的同时,有效地减小文件大小。
119 4
|
前端开发
css提示文字上下左右居中-transform加absolute
css提示文字上下左右居中-transform加absolute
|
移动开发 前端开发
h5 video以及img控件加上border显示不全的解决方案!
h5 video以及img控件加上border显示不全的解决方案!
293 0
|
Web App开发 前端开发 Android开发
|
Web App开发 前端开发 iOS开发
|
Web App开发 前端开发 iOS开发