参考文章:微信小程序 canvas 绘图问题总结
公司提了图片压缩的需求,在网上查了些资料,用canvas实现了,但发现使用wx.canvasToTempFilePath如果只是打印图片地址然后点击地址查看图片,或者保存图片至相册再查看图片,拿到的图片就是正常的,但我如果要在压缩后的success回调中使用图片去做一些事情(比如编码wx.getFileSystemManager().readFile、上传至服务器wx.request),拿到的图片就是空白的。
经过多次调试后发现,是这里的问题
设置超时时间这里需要设置的多一点。我之前设置的100,即100ms,可能因为上传至服务器是异步的,导致100ms内canvas没法完成图片加载操作,生成的图片就是空白的。改成1000之后,图片有足够长的时间渲染,就不会出现空白图片的问题了。
网友评论