函数:snapshot 截图

函数名称:截图

函数功能:截取屏幕中指定区域的图像并生成指定格式的图片文件

函数方法

snapshot(picname,x1,y1,x2,y2,quality)

参数 类型 必填 说明
picname string 截图保存的文件名,不写默认为 res 文件夹下,
自建目录请填写绝对路径
x1 number 截图区域左上角顶点屏幕横坐标
y1 number 截图区域左上角顶点屏幕纵坐标
x2 number 截图区域右下角顶点屏幕横坐标
y2 number 截图区域右下角顶点屏幕纵坐标
quality number 引擎版本仅支持 iOS v2.0.9 以上版本,
当截图格式选为 jpg 时,
可用此参数控制图片质量,此参数值为大于 0 且小于等于 1 的值

函数用例

iOS

snapshot("test.png", 0, 0, 639, 1135); --以 test 命名进行截图
--全屏截图(iPhone 5, 5S),并以当前日期为文件名保存
current_time = os.date("%Y-%m-%d", os.time());
snapshot(current_time..".png", 0, 0, 639, 1135); --以时间戳命名进行截图
snapshot(current_time..".jpg", 0, 0, 639, 1135, 0.5); --使用 jpg 格式截图,并设置图片质量为 0.5

Android

--全屏截图(以小米 4 为例),并以当前日期为文件名保存
current_time = os.date("%Y-%m-%d", os.time()); --以时间戳命名进行截图
w,h = getScreenSize();
-- 右下角顶点坐标最大为 (宽度最大值 - 1,高度最大值 - 1)
snapshot(current_time..".png", 0, 0, w-1, h-1);

注意事项

  • 图片保存路径:

    ​ 触动精灵 iOS 资源文件目录:/var/mobile/Media/TouchSprite/res/(更多 - 文件管理 - 资源)

    ​ 触动精灵安卓资源文件目录:/mnt/sdcard/TouchSprite/res/(我的账号 - 文件管理 - 资源)

  • 当引擎版本高于 iOS v2.2.5-1 时,四个坐标参数省略,默认截取全屏图像。

  • quality 参数仅在引擎版本高于 iOS v2.0.9 时方可使用。

  • 雷电 9 系统模拟器分辨率为平板版时使用函数:getScreenSize 获取的屏幕宽高相反,获取到的宽度实际为屏幕高度,获取的高度实际为屏幕宽度,其他模拟器获取的屏幕宽高为实际屏幕宽高。

  • Android 系统保存图片支持 png 及 jpg 格式,不可以设置质量;iOS 系统保存图片的格式可为 bmp, jpg, png,因为 png 是 iOS 中最常见的格式,所以推荐选择 png。

  • 截图时,旧版本触动精灵如使用全屏截图,右下角顶点坐标最大为宽度 -1,高度 -1,否则 iOS 系统会出现越界错误,安卓系统截出的图会是纯白色的,新版本已经解决问题。

  • 默认图片路径请使用 userPath 函数获取,具体使用方法请参阅 对应章节,自建目录请填写相绝对路径, 文件名重复时会直接覆盖现有文件。

  • 本文 iOS 实例中 os.date 与 os.time 为 Lua 基本库函数,请查阅附录 Lua 操作系统函数库。

  • ".." 为字符串连接操作符,可以将字符串变量、常量连接在一起。

  • 本文 iOS 实例中 640*1136 为 iPhone 5,5S 等设备的分辨率,实际使用中请根据运行设备替换为对应值。

  • 雷电 9 系统模拟器分辨率为平板版时使用函数:getScreenSize 获取的屏幕宽高相反,获取到的宽度实际为屏幕高度,获取的高度实际为屏幕宽度,其他模拟器获取的屏幕宽高为实际屏幕宽高。

Copyright 北京帮你玩科技有限公司 2023 all right reserved,powered by Gitbook该文章修订时间: 2024-03-06 17:50:18

results matching ""

    No results matching ""