小程序canvas踩坑

canvas

画布。该组件是原生组件,使用时请注意相关限制。web

的确不少限制!!!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 异步