createPosterCanvas: function (product,qrcode) {
const self = this
const ctx = wx.createCanvasContext('posterCanvas', self)
ctx.drawImage(product, 0, 0, 313, 151)
ctx.drawImage(qrcode, 200, 170, 100, 100)
ctx.setFontSize(12)
ctx.setFillStyle('#666666')
ctx.setTextAlign('center')
ctx.fillText('长按识别二维码', 246, 292)
ctx.draw(false,setTimeout(()=>{
wx.canvasToTempFilePath({
canvasId: 'posterCanvas',
fileType: 'jpg',
success: function (res) {
console.log(res.tempFilePath)
},
fail: function (res) {
console.log(res)
}
}, self)
},200))
},
使用开发者工具可以获取到文件的临时路径,使用手机返回fail canvas is empty。
有没有遇到过类似问题的同学,求帮忙解答一下,谢谢~
你的setTimeout的位置不对吧。
ctx.draw(
false
, () => {
setTimeout(() => {
// do something...
}, 200);
});
麻烦提供代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
我进行合成的时候程序不进ctx.draw()的回调是怎么回事?也就是说 ctx.draw(false, () => { // 这里面的代码都不执行 })。知道是怎么回事吗
最后怎么解决的,同问题
没有进回调函数:没有获取到canvas的context,你可以试试控制台调用试试
是因为我没有在wxml里面写canvas标签哈哈哈哈 我真蠢