在微信小程序中将base64图片绘入canvas画布的问题?

因为手机上微信小程序不支持canvas绘制base64图片,于是把base64图片存入本地文件系统,然后读取本地路径绘制入canvas画布。
但是当base64图片改变时,图片被覆盖存入本地(能确定图片文件已被新base64图覆盖),可canvas画布中的图片还是第一次存入时的图片
相关代码如下:

// 获取接口响应的base64图片,并保存在本地文件系统
getImg () {
    this.$http.get('/swipe').then(res => {
        const fs = wx.getFileSystemManager()
        const bufferSrc = wx.base64ToArrayBuffer(res.img)
        const src = wx.env.USER_DATA_PATH + '/src.png'
        fs.writeFileSync(src, bufferSrc, 'binary')
        this.imgPath = src
    })
},
// 绘制canvas
drawImg () {
    const ctx = wx.createCanvasContext('img-ctx', this)
    ctx.drawImage(this.imgPath, 0, 0, 100, 200)
    ctx.restore()
    ctx.draw();
}

想要的效果是重新调用接口获取到新的base64图片后,canvas画布中的图片相应的也绘入新图。
多番尝试过后依然未能解决,我应该从哪方面着手去解决问题?

阅读 1.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题