canvas
画布。该组件是原生组件,使用时请注意相关限制。
的确很多限制!!!
canvas
中很多 API
都是异步执行,这导致很多问题!比如 图片怎么没画上去等等~~~
其中,我踩到的坑:
- canvasContext.drawImage 不能直接用网络图片(也不能用
Base64
),需要下用**wx.downloadFile(OBJECT)**
下载成功后以 tempFilePath 的形式传给页面,res = {tempFilePath: ‘文件的临时路径’},用这个tempFilePath
才能画图。 - wx.downloadFile(OBJECT) 是
异步
执行 - wx.getImageInfo(OBJECT) 也是
异步
执行 getImageInfo相当于先使用downloadFile下载文件再获取图片的信息。如果只是需要临时文件路径,用downloadFile即可,如果还需要更多的图片信息,则使用getImageInfo - canvasContext.draw
异步