函数: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 北京帮你玩科技有限公司 2026 all right reserved,powered by Gitbook该文章修订时间: 2026-09-18 17:36:02

results matching ""

    No results matching ""