收藏
回答

canvas绘制保存到本地文件中图片,若图片保存本地文件路径不变,则之后绘制出的和第一次绘制的相同

框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
小程序 Bug Android 10 荣耀v20 1.0.11

使用canvas绘制带小程序码的海报时,从后台获取到了带相应场景值的小程序码base64图片,

把小程序码使用wx.getFileSystemManager().writeFileSync(filePath, base64图片, 'base64')写到本地文件中,

若filePath使用固定的 wx.env.USER_DATA_PATH +'/xx.png' 路径保存,则后面用canvas把小程序码绘制到海报上时,一直为第一次绘制的小程序码。

若filePath使用随机的 wx.env.USER_DATA_PATH '/' + (new Date().getTime()) + '.png' 路径保存,则后面用canvas把小程序码绘制到海报上时,小程序码正确。







回答关注问题邀请回答
收藏

1 个回答

  • Admin²⁰²⁰
    Admin²⁰²⁰
    03-06
    应该是canvas.drawImage缓存问题吧。
    
    你还是用临时文件的方式,writeFileSync就draw,draw后FileSystemManager.unlink掉这个临时文件了,这样应该不会超过限制吧
    
    03-06
    有用 2
    回复 1
    • 玉涛
      玉涛
      03-06
      好的,暂时也只能这样解决了,多谢解答!
      03-06
      回复
登录 后发表内容
问题标签