如果canvas涉及到用户头像及背景底图时,直接绘制导出将会是空白的图片(在开发者工具上正常,可能因为网络问题吧)。这是因为ctx.draw() 在网络图片未完全加载出来就开始绘制了,想到的解决办法可以在wx.getImageInfo() 成功回调里 把path值替换掉原来的网络图片路径,接着再执行canvas画图函数,最后再用wx.canvasToTempFilePath() 导出图片路径,直接就调用保存相册api即可。
7-3更新
当涉及到用户头像等网络图片,可能会在真机上获取图片信息失败(实测在真机上打开调试,获取信息成功,而关闭了调试模式,即报下载头像信息失败),这时,可以用wx.downloadFile 接口下载到本地,获取到的tempFilePath再进行绘制。
网友回复
仅此而已:
可以,可以。我今天被那个图片问题困扰了好久,这个方法可以解决,感谢!