?在ctx.draw()回调生成图片,参考canvasToTempFilePath接口文档
// data
imgFilePath: null,// 缓存二维码图片canvas路径
//js
// 首先在draw()里进行本地存储
......
ctx.draw(false, () = >{
uni.canvasToTempFilePath({ // 把画布转化成临时文件
quality: 1,
// 图片质量
canvasId: 'shareCanvas',
// 画布ID
success: (res) = >{
// uni.showToast({
// icon: 'success',
// mask: true,
// title: '绘制完成',
// });
this.imgFilePath = res.tempFilePath;
//console.log(this.imgFilePath, 'this.imgFilePath');
uni.setStorageSync('filePath', this.imgFilePath) //保存临时文件路径到缓存
},
fail: function(res) {
// console.log(res);
}
})
})
// 然后保存图片按钮进行取值
// 保存图片到本地,下面保存到手机
async savePic() {
// console.log(this.imgFilePath, 'this.imgFilePathsavePic')
let res = await uni.canvasToTempFilePath({ // 把画布转化成临时文件
quality: 1,
// 图片质量
canvasId: 'shareCanvas',
}) // 画布ID
let storageImgFilePath = uni.getStorageSync('filePath')
// console.log(storageImgFilePath,'storageImgFilePath');
setTimeout(() = >{
uni.saveImageToPhotosAlbum({ // 存成图片至手机
filePath: storageImgFilePath,
success: (res2) = >{
uni.showToast({
title: '图片保存成功',
duration: 2000
})
},
............
})
},
1000)
上一篇文章,