收藏
评论

解决小程序canvas画图导出到手机相册无图问题




如果canvas涉及到用户头像及背景底图时,直接绘制导出将会是空白的图片(在开发者工具上正常,可能因为网络问题吧)。这是因为ctx.draw() 在网络图片未完全加载出来就开始绘制了,想到的解决办法可以在wx.getImageInfo() 成功回调里 把path值替换掉原来的网络图片路径,接着再执行canvas画图函数,最后再用wx.canvasToTempFilePath() 导出图片路径,直接就调用保存相册api即可。


7-3更新

当涉及到用户头像等网络图片,可能会在真机上获取图片信息失败(实测在真机上打开调试,获取信息成功,而关闭了调试模式,即报下载头像信息失败),这时,可以用wx.downloadFile 接口下载到本地,获取到的tempFilePath再进行绘制。

最后一次编辑于  2018-07-03
赞 1
收藏

2 个评论

  • ᴴᴱᴸᴸᴼ
    ᴴᴱᴸᴸᴼ
    06-18

    ctx.draw()这个加上个延时可以解决吗??安卓机上会出现保存到相册的图空白

    06-18
    赞同
    回复 1
    • WGinit
      WGinit
      06-18

      不行,可能是你图片没下载到本地

      06-18
      回复
  • 仅此而已
    仅此而已
    2018-07-01

    可以,可以。我今天被那个图片问题困扰了好久,这个方法可以解决,感谢!

    2018-07-01
    赞同
    回复 1
    • WGinit
      WGinit
      2018-07-02

      ^_^

      2018-07-02
      回复