【AutoJs】AutoJs实现自动化截图,并保存到相册 | 您所在的位置:网站首页 › 如何在电脑截长图并保存图片 › 【AutoJs】AutoJs实现自动化截图,并保存到相册 |
autojs的images模块提供了一些手机设备中常见的图片处理函数,包括截图、读写图片、图片剪裁、旋转、二值化、找色找图等。本文主要介绍截图方法与图片保存并实现一个自动化截图脚本。 1 请求截图权限 requestScreenCapture([landscape]);landscape为布尔值, 如果值为false, 则表示竖屏截图; true为横屏截图。 如果不指定landscape值,则截图方向默认由当前设备屏幕方向决定,因此务必注意执行该函数时的屏幕方向。 该函数在截图脚本中是 必写函数 \color{Red}{必写函数} 必写函数,只执行一次,只需写一次即可,但必须写在截图方法调用之前。 申请权限代码示例: if(!requestScreenCapture()){ //如果请求失败则终止脚本 exit(); } //下面是截图方法... 2 截取当前屏幕 captureScreen();截取当前屏幕并返回一个Image对象。 特殊的 \color{Red}{特殊的} 特殊的,有captureScreen(path);方法,将不会返回image对象,而是直接将截图保存到path指定路径,适用于不对截图做处理的情况 必须已申请截图权限,没有截图权限时执行该函数会抛出SecurityException。 申请截图权限成功需要一定的时间(约几百ms),如果在申请截图权限后立即 截图,会延迟一段时间。 该函数不会返回null,两次调用可能返回相同的Image对象。这是因为设备截图的更新需要一定的时间,短时间内(一般来说是16ms)连续调用则会返回同一张截图。 截图会被转换为Bitmap格式,从而该函数执行需要一定的时间(0~20ms)。 截图代码示例: //上方已申请截图权限 var image = captureScreen(); 3 保存截图 images.save(image, path[, format = "png", quality = 100])image:要保存的对象 path:保存路径,可以指定到文件名称与格式,如果文件已存在则会覆盖 format:非必填,保存格式,可选值有png/jpeg/jpg/webp,默认为png quality:非必填,保存的质量,0-100之间的整数值,默认100 var img = captureScreen(); images.save(img,"/sdcard/screenshot.png"); // 保存截图到指定路径不对截图做处理,可以直接保存,无需声明对象 captureScreen("/sdcard/screenshot.png");// 保存截图到指定路径 4 截图保存到相册代码例:从脚本运行开始,截图100次并通通保存到相册,以截图次数命名 if(!requestScreenCapture()){ //如果请求截图权限失败则终止脚本 exit(); } sleep(1000); //获取截图权限后等待1秒再开始截图 for (var i = 0; i |
CopyRight 2018-2019 实验室设备网 版权所有 |