收藏
回答

canvas drawImage渲染网络图片不显示?

在真机上,canvas 2d 渲染本地图片能显示出来,但渲染网络图片(已通过getImageInfo/downloadFile获取本地临时链接)时为空白的

在真机上都没有进入onload和onerror的回调函数

const img = canvas.createImage();

img.src = 图片临时路径;

img.onload = () => {
  ctx.drawImage(img, 0, 0, 296, 492);
}
img.onerror = (err) => {
  console.log(err)
}


最后一次编辑于  2019-11-11
回答关注问题邀请回答
收藏

2 个回答

  • 小程序商城定制开发2600元全包
    小程序商城定制开发2600元全包
    06-04

    js里加载的图片是放在绘图前边没错,但是图片加载进来还需要个时间啊。需要给图片缓冲的时间。

    等图片加载成功后才可以进行绘制。

    而drawImage这个方法,当图片在没加载完的情况下使用,他会不被调用。绘制就会失败。


    06-04
    有用 1
    回复
  • 王志鹏
    王志鹏
    2019-11-11

    图片是否有配置download合法域名   打印控制台看看返回的什么?

    2019-11-11
    有用
    回复 9
    • Monkeys.🙊
      Monkeys.🙊
      2019-11-11
      域名都有配置,控制台返回了图片的临时路径
      2019-11-11
      回复
    • 王志鹏
      王志鹏
      2019-11-11回复Monkeys.🙊
      开发工具可以 真机无法显示吗?
      2019-11-11
      回复
    • Monkeys.🙊
      Monkeys.🙊
      2019-11-11回复王志鹏
      是的,在开发工具上都有显示,在真机上没有,Android和ios都没有
      2019-11-11
      回复
    • 王志鹏
      王志鹏
      2019-11-11回复Monkeys.🙊
      图片是https开头吗?  var imgs = img.replace("http:", "https:");   处理一下试试
      2019-11-11
      回复
    • Monkeys.🙊
      Monkeys.🙊
      2019-11-11
      图片地址就是https的...
      2019-11-11
      回复
    查看更多(4)
登录 后发表内容
问题标签