第一个坑 画布白屏,找不到canvas createCanvasContext,在其他平台不需要第三个参数this,而在小程序 需要 第三个参数this才可以,这样就可以绘制canvas
// h5 app
const ctx = uni.createCanvasContext('compoundImage');
// 小程序
const ctx = uni.createCanvasContext('compoundImage', this);
第二个坑 draw绘制后 canvasToTempFilePath 一直报错 :canvasToTempFilePath: fail canvas is empty,也是需要添加this参数和添加一个定时器就可以绘制出图片,
ctx.draw(false, () => {
setTimeout(() => {
uni.canvasToTempFilePath({
canvasId: 'compoundImage',
success: function(res) {
let canvaaPath = res
.tempFilePath;
resolve(canvaaPath);
},
fail(err) {
console.log("err: " + JSON
.stringify(err));
}
}, that);
}, 200);
});