Canvas.toTempFilePath 收藏我的收藏
收藏我的收藏
基础库 1.31.0 开始支持本方法,这是一个异步方法。
将当前 Canvas 保存为一个临时文件,并生成相应的临时文件路径。
| 前提条件 | 无 | 
| 业务背景 | 无 | 
| 使用限制 | 无 | 
| 注意事项 | 不要在 tt.createCanvas 后立即调用该方法,在 Canvas 创建后的初始状态下调用该方法可能会导致异常。 | 
| 相关教程 | 无 | 
语法
Canvas.toTempFilePath(options)
参数说明
options 为 object 类型,属性如下:
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 | 
|---|---|---|---|---|---|
| x | number | 0 | 否 | 截取 canvas 的左上角横坐标 | 1.31.0 | 
| y | number | 0 | 否 | 截取 canvas 的左上角纵坐标 | 1.31.0 | 
| width | number | 否 | 截取 canvas 的宽度。默认取 canvas 的宽度 | 1.31.0 | |
| height | number | 否 | 截取 canvas 的高度。默认取 canvas 的高度 | 1.31.0 | |
| destWidth | number | 否 | 目标文件的宽度, 会将截取的部分拉伸或压缩至该数值。默认取 canvas 的宽度 | 1.31.0 | |
| destHeight | number | 否 | 目标文件的高度,会将截取的部分拉伸或压缩至该数值。默认取 canvas 的高度 | 1.31.0 | |
| fileType | enum | png | 否 | 目标文件的类型 | 1.31.0 | 
| quality | number | 1.0 | 否 | jpg 图片的质量,仅当 fileType 为 jpg 时有效。取值范围为 0.0(最低)- 1.0(最高),不含 0。不在范围内时当作 1.0 | 1.31.0 | 
| success | function | 否 | 接口调用成功的回调函数 | 1.31.0 | |
| fail | function | 否 | 接口调用失败的回调函数 | 1.31.0 | |
| complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | 1.31.0 | 
fileType 的合法值
| 值 | 说明 | 最低支持版本 | 
|---|---|---|
| jpg | jpg 文件 | 1.31.0 | 
| png | png 文件 | 1.31.0 | 
回调成功
object 类型,属性如下:
| 属性名 | 类型 | 说明 | 最低支持版本 | 
|---|---|---|---|
| errMsg | string | 状态信息 | 1.31.0 | 
| toTempFilePath | string | canvas 生成的临时文件路径 | 1.31.0 | 
错误码
| errNo | errMsg | 说明 | 最低支持版本 | 
|---|---|---|---|
| 20000 | @The base64Data cannot be null | 1.31.0 | |
| 21101 | @tmpFilePath is nil, destAbsPath: %@ | 小游戏框架内部错误,有需要请创建工单咨询 | 1.31.0 | 
| 20001 | invalid param | 1.31.0 | |
| 20000 | internal error | 小游戏框架内部错误,有需要请创建工单咨询 | 1.31.0 | 
| 21101 | save temp file fail | 小游戏框架内部错误,有需要请创建工单咨询 | 1.31.0 | 
| 21102 | decode image fail | 小游戏框架内部错误,有需要请创建工单咨询 | 1.31.0 | 
| 21103 | base64 data error | 小游戏框架内部错误,有需要请创建工单咨询 | 1.31.0 | 
| 10401 | cause: $cause, errMsg: $extraMsg | 小游戏框架内部错误,有需要请创建工单咨询 | 1.31.0 | 
| 10403 | internal error | 小游戏框架内部错误,有需要请创建工单咨询 | 1.31.0 | 
扫码体验
请使用字节宿主APP扫码
代码示例
const canvas = tt.createCanvas(); canvas.getContext("2d"); // oTempFilePath 方法 canvas.toTempFilePath({ x: 20, y: 20, width: 200, height: 150, destWidth: 400, destHeight: 300, success: (res) => { console.log(res.tempFilePath); }, });
