autojs横屏截图的正确姿势

简介: 牙叔教程 简单易懂

牙叔教程 简单易懂

测试环境

模拟器: 雷电模拟器, android7.1.2

autojs: 8.8.22

测试代码

if (!requestScreenCapture(true)) {
  toast("请求截图失败");
  exit();
}
sleep(3000);
var img = captureScreen();
log("img.width: " + img.width + " img.height: " + img.height);
img.recycle();
log("device.width = " + device.width + " device.height = " + device.height);


测试方法1: 模拟器竖屏状态

img.width: 960 img.height: 540
device.width = 540 device.height = 960


测试方法2: 模拟器横屏状态

img.width: 960 img.height: 540
device.width = 540 device.height = 960


测试方法3: 模拟器竖屏状态申请截图

然后3秒内点击游戏, 模拟器变为横屏

img.width: 960 img.height: 540
device.width = 540 device.height = 960


横屏截图期望

截图的宽度是手机屏幕的高度, 方便以横屏的坐标系, 来计算坐标

以上三种测试方法, 均满足图片的宽度是屏幕的高度, 这一条件;

不同的地方是什么?

截图时的模拟器处于横屏还是竖屏

申请截图权限时模拟器状态

截图时的模拟器状态

测试方法1

竖屏

竖屏

测试方法2

横屏申请, 强制变为竖屏

竖屏

测试方法3

竖屏

横屏

真机测试结果

测试环境

真机: 小米11pro

安卓: 12

miui: 13.0.9

申请截图时, 不管有没有打开游戏, 屏幕方向始终不变:

是横屏就始终是横屏, 是竖屏就始终是竖屏

横竖屏日志都是一模一样的


img.width: 3200 img.height: 1440
device.width = 1440 device.height = 3200
img.width: 3200 img.height: 1440
device.width = 1440 device.height = 3200
img.width: 3200 img.height: 1440
device.width = 1440 device.height = 3200


总结

为了兼容真机和模拟器, 申请截图权限时, 统一使用使用方法3,

先在竖屏时申请截图权限, 获取截图权限后, 再打开游戏截图,

此时, 坐标系就是横屏的, 截图也是横屏的,

可以按照直觉来计算坐标

名人名言


思路是最重要的, 其他的百度, bing, stackoverflow, github, 安卓文档, autojs文档, 最后才是群里问问
--- 牙叔教程


声明


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

相关文章
|
API Android开发
截图授权和投影媒体权限
牙叔教程 简单易懂
1202 0
|
Android开发
autojs修改悬浮窗按钮点击事件
牙叔教程 简单易懂
2146 0
|
Android开发
Autox.js 脚本开发环境搭建,从案例到打包apk(详细流程)
Autox.js 脚本开发环境搭建,从案例到打包apk(详细流程)
6161 0
|
前端开发 JavaScript Java
前端 NUXT框架
前端 NUXT框架
403 0
|
安全 Android开发 数据安全/隐私保护
安卓手机屏幕连点器,屏幕自动点击器,手机自动点击器【autojs】
完整UI界面:包含坐标设置、间隔时间、随机偏移等参数配置区域
|
人工智能 自然语言处理 机器人
创新场景丨大模型时代,重塑智能终端新体验
大模型为智能终端带来的变革是全方位的,但挑战也同样显而易见。云侧部署的大模型加端侧应用的大模型是综合平衡性能、成本、功耗、隐私、速度之下的最佳选择。
|
人工智能 数据安全/隐私保护
抖音留痕脚本,快手小红书留痕工具,截流获客刷短视频软件
AutoJS脚本实现了完整的留痕功能,包含日志记录、定时截图、事件监听和模拟操作四大模块
|
数据可视化
和平精英脚本,王者荣耀脚本,autojs最新开源代码
采用模块化设计,包含通用功能、和平精英和王者荣耀三大 实现贝塞尔曲线滑动模拟真人操作,降低封号风险
|
编解码 数据安全/隐私保护
手机录制脚本自动执行, 免root屏幕录制脚本,自动脚本精灵app【autojs】
自动创建保存目录确保路径存在 动态生成带时间戳的文件名避免重复