收藏
回答

wx.canvasToTempFilePath

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 Bug wx.canvasToTempFilePath 微信iOS客户端 Android 6.6.7 2.2.1
eventGetImage(event) {
 console.log(event);
 const _that = this;
 if (event.detail.errMsg == 'canvasdrawer:ok'){
   if (this.data.result.flowPriceUnit < 0 || this.data.result.flowPriceUnit > 100){
     console.log('haohaoaoh')
     //这个地方就也不执行了
     wx.canvasToTempFilePath({
       x: 0,
       y: 0,
       width: 345,
       height: 520,
       canvasId: 'canvasdrawer',
       success(resFilePath) {
         console.log(resFilePath);
         wx.saveImageToPhotosAlbum({
           filePath: resFilePath.tempFilePath,
           success(res) {
             wx.hideLoading()
             console.log('绘图成功')
             wx.showToast({
               title: '保存图片成功',
               icon: 'success',
               duration: 2000
             })
           }
         })
       }
     }, _that.canvasdrawerComponent);
     return
   }
    console.log('单价在0至100之间')
     wx.canvasGetImageData({
       canvasId: 'mychart-line',
       x: 0,
       y: 0,
       width: 304,
       height: 122,
       success(res) {
         console.log(res)
         wx.canvasPutImageData({
           canvasId: 'canvasdrawer',
           data: res.data,
           x: 20,
           y: 285,
           width: 304,
           height: 122,
           success(res) {
             console.log(res);
             console.log('绘画完成')
             console.log('开始保存')
             //这个地方就不在执行了
             wx.canvasToTempFilePath({
               x: 0,
               y: 0,
               width: 345,
               height: 520,
               canvasId: 'canvasdrawer',
               success(resFilePath) {
                 console.log(resFilePath);
                 wx.saveImageToPhotosAlbum({
                   filePath: resFilePath.tempFilePath,
                   success(res) {
                     wx.hideLoading()
                     console.log('绘图成功')
                     wx.showToast({
                       title: '保存图片成功',
                       icon: 'success',
                       duration: 2000
                     })
                   }
                 })
               }
             }, _that.canvasdrawerComponent)
           }
         }, _that.canvasdrawerComponent)
       }
     }, _that.echartsComponnet)
   }
},

每次走到 wx.canvasToTempFilePath函数就不再执行了,也不知道为什么,不报错

最后一次编辑于  2018-07-31
回答关注问题邀请回答
收藏

4 个回答

  • Jeff
    Jeff
    2018-08-09

    同遇到问题,https://developers.weixin.qq.com/blogdetail?action=get_post_info&docid=00082a65e48c682efe275daf556c00&token=1387101208&lang=zh_CN


    success,fail,complete,try..catch都试了,没输出。。

    2018-08-09
    有用
    回复 3
    • 小鸡爪
      小鸡爪
      2018-08-13

      我觉着最大的可能是你的节点没有找对

      2018-08-13
      回复
    • Jeff
      Jeff
      2018-08-13回复小鸡爪

      节点对的 ,事实上也是那个截图方法没反应


      2018-08-13
      回复
    • Jeff
      Jeff
      2018-08-13回复小鸡爪

      更新了提问,是这个截图方法没反应

      2018-08-13
      回复
  • Ðμαi、
    Ðμαi、
    2018-08-01

    请问楼主问题有解决吗,我今天也遇到了同样的问题,求回复呀

    2018-08-01
    有用
    回复 2
    • 小鸡爪
      小鸡爪
      2018-08-02

      你看手机上是不是能执行,看手机上的打印有没有报错

      2018-08-02
      回复
    • Ðμαi、
      Ðμαi、
      2018-08-02

      我的情况好像还不太一样,我的是调了两次wx.canvasToTempFilePath,但只执行了第一次,第二次死活不执行

      2018-08-02
      回复
  • 白开水
    白开水
    2018-07-31

    如果是【不执行】一般是代码中抛出了 Error,请在单步调试的基础库上加上 try catch,一步一步定位是哪段代码出了问题。

    2018-07-31
    有用
    回复 3
  • 是小白啊
    是小白啊
    2018-07-31

    你好,请提供一下出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2018-07-31
    有用
    回复 3
    • 小鸡爪
      小鸡爪
      2018-07-31

      我用到了echarts组件,导致代码片段太大。没办法分享

      2018-07-31
      回复
    • 是小白啊
      是小白啊
      2018-07-31回复小鸡爪

      你可以先将判断条件去掉,然后将wx.canvasToTempFilePath函数直接执行,看看成功或者是失败的回调打印什么

      2018-07-31
      回复
    • 小鸡爪
      小鸡爪
      2018-07-31回复是小白啊

      成功、失败、完成函数里面都没有反映

      2018-07-31
      回复
登录 后发表内容