收藏
回答

画布 Image 不进入onload 方法?

         /**
     * url:传入的网络地址图片
     */
    const getImage=(url)=>{
      var canvas = document.createElement('canvas')
      var ctx = canvas.getContext('2d')
      var image = new Image()
      image.setAttribute("crossOrigin",'Anonymous')
      alert('开始图片处理');
      image.onerror=()=>{
        alert('进入onerror方法!');
        alert(image.width);
      }
      image.src = url+'?x=1';
      image.onload =()=> {
        console.log('进入onload方法!');
        canvas.width = image.width;
        canvas.height = image.height;
        ctx.drawImage(image, 00);
        state.avatar = canvas.toDataURL("image/png");
      };
      console.log(image.src);
    }

在开发者工具中调试正常,真机中进入onerror方法;请问一下大家有什么解决方法吗?

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

1 个回答

  • 一介草民
    一介草民
    2021-08-31
    你居然能new Image()?  你是大神啊
    
    2021-08-31
    有用
    回复 5
    • 高先生
      高先生
      2021-09-01
      不能这样用吗? 请问有其他方法处理吗?
      2021-09-01
      回复
    • 一介草民
      一介草民
      2021-09-01回复高先生
      const image = canvas.createImage()
                image.onload = () => {
                 
                }
                image.src = 'xxxxxxxx'
      2021-09-01
      1
      回复
    • 一介草民
      一介草民
      2021-09-01
      我也刚弄这里,不知道你的环境如何,小程序原生是没有 new Image 的,会报错的,如果你可以的话,你不用换
      2021-09-01
      回复
    • 一介草民
      一介草民
      2021-09-01
      或者image.src 要在 onload 之下,这样最好
      2021-09-01
      回复
    • 高先生
      高先生
      2021-09-01回复一介草民
      哦,好的谢谢,我是在公众号网页里开发的;就是进不了onload  试了很多方法了. 恼火
      2021-09-01
      回复
登录 后发表内容