问题描述:绘制完canvas后,使用canvasToTempFilePath保存到手机的图片是空白
问题解决:
在绘制图片ctx.draw时,需要使用箭头函数调用wx.canvasToTempFilePath
//绘制图片,需使用剪头函数
ctx.draw(false,()=>{
wx.canvasToTempFilePath({
x:0,
y:0,
fileType:'png',
canvasId: 'myCanvas',
success: function(res) {
uni.showToast({
icon: 'success',
mask: true,
title: '绘制完成',
});
var tempFilePath = res.tempFilePath;
console.log(tempFilePath);
uni.setStorageSync('filePath', tempFilePath) //保存临时文件路径到缓存
},
fail: function(res) {
console.log(res);
}
}, that)
})
保存图片
saveImage() {
let filePath = uni.getStorageSync('filePath') //从缓存中读取临时文件路径
wx.saveImageToPhotosAlbum({
filePath: filePath,
success(res) {
uni.showToast({
icon: 'success',
mask: true,
title: '保存成功',
});
},
fail(res) {
console.log(res.errMsg)
}
})
}