如果代码敲累了,就歇一歇。放松一下,问题就会少一些。

问题

在小程序中,使用 canvasToTempFilePath 方法将 canvas 内容保存为临时文件时,有时会遇到 “fail canvas is empty” 的错误。

既然你遇到了这个问题,那么你一定会遇到绘制图片时没有任何内容绘制到 canvas 上的问题。

解决方案

遇到这个问题,很大的概率是在组件里面使用了 canvas ,这个时候就需要在调用 api 的时候指定 this 。

wx.createCanvasContext("editListCanvas", this);
wx.canvasToTempFilePath(
  {
    canvasId: "editListCanvas",
    fileType: "png",
    success(res) {
      //图片保存到本地
    },
    fail: function (ref) {
      console.log(ref);
    },
  },
  this
);

搞定。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐