收藏
回答

canvas绘制分享图空白

问题模块 框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
客户端 小程序 Bug Android 安卓 华为 6.6.7

canvas 绘制分享图片,微信二维码空白。流程是--向服务器请求--获取生成的二维码--调wx.downloadFile接口成功之后--调用wx.saveFile接口成功之后--调用canvasContext.drawImage开始绘制背景图,二维码,和二维码边框,其中背景图和二维码边框正常绘制和显示,二维码显示为空白


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

13 个回答

  • 卢霄霄
    卢霄霄
    2018-08-28

    二维码dowload下来了的吗?截图看下你绘制二维码附近的代码呢

    2018-08-28
    赞同
    回复
  • 我不卖豆腐豆腐
    我不卖豆腐豆腐
    2018-08-28

    如果服务端返回的是base64格式的数据,小程序canvas是不支持的,真机上无法显示。如果返回的是url建议使用

    wx.getImageInfo下载到手机得到文件的临时路径。Savefile是保存到相册,得到的路径不一定能访问。

    2018-08-28
    赞同
    回复 1
    • 李朋
      李朋
      2018-08-28

      返回的图片是png的格式,我们同事有个手机刚开始的时候显示是正常的,在切换几次之后就发现二维码没了,有可能是savefile的问题,我测下

      2018-08-28
      赞同
      回复
  • 李朋
    李朋
    2018-08-28

    我是download成功之后才进行的绘制

    2018-08-28
    赞同
    回复
  • 🚗🚕🚙🚌🚎🚒🚐🚚
    🚗🚕🚙🚌🚎🚒🚐🚚
    2018-08-28
    调用wx.saveFile这不是不是太早了,你保存二维码干嘛?download之后不需要保存,只需要获取临时路径即可,在draw的成功回调里保存画好的海报,如果不在回掉里调用,有可能还未画好就保存了
    2018-08-28
    赞同
    回复 5
    • 李朋
      李朋
      2018-08-28

      下载成功之后,调用saveFile是因为不想在第二次进入的时候,再去服务器请求。我把savefile 返回的路径保存在了本地,下次进入的时候如果有就直接绘制了。如果没有会就再次下载。如果保存的路径有问题的话,绘制二维码的时候会报错,报错之后二维码二维码边框就不会执行绘制了,但是图上二维码边框是好的,所以就定位不到是那个地方出问题了

      2018-08-28
      赞同
      回复
    • 🚗🚕🚙🚌🚎🚒🚐🚚
      🚗🚕🚙🚌🚎🚒🚐🚚
      2018-08-28回复李朋

      额,永久保存二维码到本地。。。?写入data,或者本地storage也行?没试过这个接口

      2018-08-28
      赞同
      回复
    • 李朋
      李朋
      2018-08-28回复🚗🚕🚙🚌🚎🚒🚐🚚


      这个注释是wx.downloadFile下面的,所以用的saveFile,图片没法写入data和storage。我把saveFile保存成功之后的路径用storage保存了,下次直接就用了。关键是这个问题不是说所有手机都不行,发现的华为手机会出现这个问题。而且也不是毕现的。所以纠结

      2018-08-28
      赞同
      回复
    • 我不卖豆腐豆腐
      我不卖豆腐豆腐
      2018-08-28回复李朋

      如果保存成功,你想办法拿到savedFilePath跟别的机型比对一下就知道了,大概率是路径问题


      2018-08-28
      赞同
      回复
    • 李朋
      李朋
      2018-08-28回复我不卖豆腐豆腐

      恩,我试下

      2018-08-28
      赞同
      回复
  • 李乾坤David
    李乾坤David
    2018-08-28

    你不用SaveFile,download之后返回的tempFilePath直接draw就行了!

    2018-08-28
    赞同
    回复
  • 刘文文
    刘文文
    2018-08-30

    可以直接在canvas上绘制二维码数据,不需要去后台获取那么麻烦 打一下广告https://developers.weixin.qq.com/community/develop/doc/0004869ed5c4302348473cdeb56406


    应该能帮到你

    2018-08-30
    赞同
    回复
  • 锡城最靓的仔
    锡城最靓的仔
    2018-08-30

    hkjhkjhkhkj

    2018-08-30
    赞同
    回复