<canvas canvas-id="poster" class="save_qrcode" />
let qrCanvas = uni.createCanvasContext('poster');
qrCanvas.drawImage('/static/qrCode.png', 0, 0, uni.upx2px(750), uni.upx2px(1334));
qrCanvas.drawImage(this.codePath, uni.upx2px(162), uni.upx2px(492), uni.upx2px(429), uni.upx2px(429));
qrCanvas.setTextAlign('center');
qrCanvas.setFontSize(uni.upx2px(32));
qrCanvas.fillText(shopName, uni.upx2px(375), uni.upx2px(975));
qrCanvas.fillText(codeName, uni.upx2px(375), uni.upx2px(1025));
qrCanvas.draw();
- 其中this.codePath、shopName、codeName为变量
uni.canvasToTempFilePath({
canvasId: 'poster',
success: res => {
console.log(res)
uni.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success() {
uni.showToast({
title: '已保存到系统相册',
icon: 'none'
});
},
fail(e) {
uni.showToast({
title: '保存失败',
icon: 'none'
});
}
});
},
fail: e => {
console.log(e)
uni.showToast({
title: '图片导出失败',
icon: 'none'
});
}
});
m***@163.com (作者)
我是直接跑的app真机模式
2020-11-03 18:54
chenli
是不是前几个版本优化了绘制和生成效率,把之前的代码绘制前自动判断远程图片链接下载再绘制的逻辑代码去掉的原因?
2020-11-03 23:53
DCloud_UNI_LXH
回复 m***@163.com: 这种情况一般是canvas跨域绘制图片,报错tainted canvases,但是app端没有跨域现象,所以我问一下手机的webview版本是多少
2020-11-04 10:11
m***@163.com (作者)
回复 DCloud_UNI_LXH: 查看到的webview版本是68.0.3440.106
2020-11-04 10:19