收藏
回答

drawImage加载网络图片或者 base64图片数据,图片不显示

项目需要制作分享图片,里面包含了用户头像(头像为网络图片),并且有小程序码(后台 base64数据);

通过drawImage的方法把图片绘制到画板上,在开发工具上能正常显示显示头像和小程序码,如下图


但是复用预览或者真机调试,头像和小程序码均不显示,如下图


头像代码:ctx.drawImage("https://wx.qlogo.cn/mmopen/vi_32/MG8dibtSbFCz553VUiafy5NMaqiaeKKPfzLibUfsoIkiatVkNWd81bibD9ND4HyiavxFZvRczKaRLBbDHyWwvU4P9qXzA/132", 20, 16, 40, 40);

小程序码代码:

ctx.drawImage(this.codeImage(), 88,  80, 70, 70);

this.codeImage() 为 图片的base64字符串



哪位知道怎么处理的请回答,急急急

回答关注问题邀请回答
收藏

2 个回答

  • 空心小木
    空心小木
    2019-12-20

    先通过wx.getImageInfo()去获取path,然后才能ctx.drawImage成功,不能直接把网络地址扔进去、、、、。并且base64要转成图片了才能画。。。

    2019-12-20
    有用
    回复
  • 灵芝
    灵芝
    2019-06-17

    不支持直接使用网络图片,可以把图片下载后再使用drawimage,另外,canvas不支持base64

    2019-06-17
    有用
    回复 8
    • _
      _
      2019-06-18

      draw()的方法怎么有些安卓机调用了绘制不出来图形

      2019-06-18
      回复
    • 灵芝
      灵芝
      2019-06-18回复_

      提供个一下代码片段看看(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

      2019-06-18
      回复
    • _
      _
      2019-06-18回复灵芝

      代码片段:https://developers.weixin.qq.com/s/pbqM0dmX7V9O

      该方法安卓无法进入

      2019-06-18
      回复
    • _
      _
      2019-06-18回复灵芝

      ctx.draw(false, () => {

      wx.canvasToTempFilePath(opt, this);

      });


      如果是 false 的情况下,却能进去


      2019-06-18
      回复
    • 灵芝
      灵芝
      2019-06-18回复_

      我这边测试是可以的,是哪个机型不可以?微信版本和基础库版本是什么?

      2019-06-18
      回复
    查看更多(3)
登录 后发表内容