收藏
回答

用canvasPutImageData在隐藏的canvas上作图后,导出失败

Bug:

用canvasPutImageData在隐藏的canvas上作图后,导出图片失败


画布隐藏,然后用canvasPutImageData作图,然后导出图片是到不出来的,把画布Hidden属性去掉就能导出了


这个应该和draw一样在隐藏的画布上也能作图


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

20 个回答

  • 黄思程
    黄思程
    2018-02-09

    getImageData的时候canvas隐藏了吗

    2018-02-09
    赞同
    回复
  • 黄思程
    黄思程
    2018-02-06

    你好,请提供一下机型

    2018-02-06
    赞同
    回复
  • 清风明月
    清风明月
    2018-03-08

    canvas 隐藏的时候无法导出图片啊。

    2018-03-08
    赞同
    回复
  • Albie
    Albie
    2018-02-24

    私聊查下这个问题,AlbieLeung

    2018-02-24
    赞同
    回复
  • 齐云山无极道人
    齐云山无极道人
    2018-02-08

    你是按我上面的代码做的demo吗

    要先canvasGetImageData,在修改data,再canvasPutImageData,再canvasToTempFilePath

    2018-02-08
    赞同
    回复
  • 齐云山无极道人
    齐云山无极道人
    2018-02-08

    你现在还在吗,我给你复现

    2018-02-08
    赞同
    回复
  • Albie
    Albie
    2018-02-08

    我们写了一个demo,在hidden的情况下,也是可以正常导出的哦

    2018-02-08
    赞同
    回复
  • 齐云山无极道人
    齐云山无极道人
    2018-02-08

    我暂时先把那个功能删掉了,我晚上在做一个复现一下,APPID:wxf5a51ffeb1f8aac9

    小程序审核都7天了,帮忙加加急,太慢了

    2018-02-08
    赞同
    回复
  • Albie
    Albie
    2018-02-08

    二维码过期了,你上传一个开发版,然后发下你的小程序的appid吧~

    2018-02-08
    赞同
    回复
  • 齐云山无极道人
    齐云山无极道人
    2018-02-07

    关键代码

    wx.downloadFile({

         url: 'https://cwrjl.com/api/GetInternetPic?imgPath=' + temp.url, //仅为示例,并非真实的资源

         success: function (res) {

           fontctx.drawImage(res.tempFilePath, 0, 0, temp.width, temp.height)

           fontctx.draw(false,function()

           {

             wx.canvasGetImageData({

               canvasId: 'fontchangeCanvas',

               x: 0,

               y: 0,

               width: temp.width,

               height: temp.height,

               success(res) {

                 for(let i=0;i<res.data.length;i++)

                 {

                   if ((i + 1) % 4 == 0 && res.data[i]!=0)

                   {res.data[i-3]=255;

                   }

                 }

                 let data=res.data;

                 console.log(data);

                 wx.canvasPutImageData({

                   canvasId: 'fontchangeCanvas',

                   x: 0,

                   y: 0,

                   width: temp.width,

                   data: data,

                   success(res) {

                     wx.canvasToTempFilePath({

                       x: 0,

                       y: 0,

                       width: temp.width,

                       height: temp.height,

                       canvasId: 'fontchangeCanvas',

                       success: function (res) {

                         console.log(res.tempFilePath)

                         let alertstring = 'viewlist[1].url'

                         that.setData({

                           [alertstring]: res.tempFilePath

                           

                         });

                       }

                     })

                    }

                 })

               }

             })

           })

       


    2018-02-07
    赞同
    回复

正在加载...