收藏
回答

真机时canvasToTempFilePath提示canvas是空的

问题模块 框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
客户端 小程序 Bug iOS 11.2.6 iphone 6 plus 6.6.5

- 当前 Bug 的表现(可附上截图)


开发工具和安卓端及ios9测试均正常,ios11测试导出图片路径失败,fail原因:canvasToTempFilePath: fail canvas is empty;试过在draw回调中使用canvasToTempFilePath,亦不能正常导出路径


-部分代码如下:

   var context = wx.createCanvasContext('canvas');

   var path = "/images/img-share4.jpg";

   context.drawImage(path, 0, 0, 520, 416);

   context.setFontSize(24);

   context.setFillStyle('#444444');

   context.textAlign = 'center';

   context.fillText('『知识分享标题』', 260, 94);

   context.stroke();

//绘制图片

   context.draw();

   //生成图片路径

   setTimeout(function () {

     wx.canvasToTempFilePath({

       canvasId: 'canvas',

       success: function (res) {

         var tempFilePath = res.tempFilePath;

         that.setData({

           imagePath: tempFilePath,

         });

         console.log(tempFilePath)

       },

       fail: function (res) {

         console.log(res);

       }

     });

   }, 200);


最后一次编辑于  2018-03-26  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

8 个回答

  • 古月
    古月
    2018-03-27

    问题补充:    关于代码片段中context.measureText(text[i]).width 报错问题可以忽略,去掉这段代码依旧是不能正常调试的;首次远程真机调试可以正常渲染路径,第二次即失败

    2018-03-27
    赞同 1
    回复
  • 古月
    古月
    2018-03-29

    没有解决呢,清缓存后预览模式都可以了,就是不能远程调试

    2018-03-29
    赞同
    回复
  • Hhx好好写代码
    Hhx好好写代码
    2018-03-29

    楼主你的问题解决了吗

    2018-03-29
    赞同
    回复
  • 古月
    古月
    2018-03-26

    相关代码片段wechatide://minicode/tthOxcmZ66Yu

    2018-03-26
    赞同
    回复
  • Special
    Special
    2018-03-26

    麻烦给个相关的代码片段(https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/minicode.html),我们定位下问题

    2018-03-26
    赞同
    回复
  • 古月
    古月
    2018-03-26

    而且在安卓端在预览模式才能正确导出,远程调试模式也不能成功导出路径,提示如下


    远程调试环境如下




    2018-03-26
    赞同
    回复
  • 古月
    古月
    2018-03-26

    canvas没有设置display:none

    2018-03-26
    赞同
    回复
  • 李敏
    李敏
    2018-03-26

    我在开发时也遇到过该问题,主要是不能把Canvas设置成display:none

    2018-03-26
    赞同
    回复