收藏
回答

在使用wxml-to-canvas设置宽高的问题,在画图时始终报错?

<wxml-to-canvas class="widget" width="{{widgetWidth}}" height="{{widgetHeight}}" ></wxml-to-canvas>

data:{
    widgetWidth:'',
    widgetHeight:'',
}

onload(){
  var that = this
   var systemInfo = wx.getSystemInfoSync();
    var widgetWidth = that.data.widgetWidth;
    var widgetHeight = that.data.widgetHeight;
      if(systemInfo){
        that.setData({
          widgetWidth:systemInfo.windowWidth,
          widgetHeight:1.5*systemInfo.windowWidth
        })
      }
}

初始时,widgetWidth和widgetHeigh设置为空不行,如果设置值,最后画出来的也就是设置的值,setdata的不管用,但是canvas使用的是px,不是动态,需要根据手机实际尺寸来调整,求解决方案,也不算setdata不成功,实际是成功了的,但是在画的过程中又使用初始值。

下面是报错:

Error: Failed to execute 'drawImage' on 'CanvasRenderingContext2D': The image argument is a canvas element with a width or height of 0.

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

2 个回答

  • Admin404
    Admin404
    2022-05-23

    我正好在做一个不定高度分享海报的需求,也遇到你这个问题,这是因为attached初始化的时候就定死了。我用了个笨方法:

    把/wxml-to-canvas/miniprogram_dist/index.js中的lifetimes下的attached()里面的方法放到你的自定义事件里面,你动态改变值之后再调用就行了

    2022-05-23
    有用
    回复
  • Cjiang
    Cjiang
    2022-04-19

    drawImage 在 CanvasRenderingContext2D执行失败,检查下 drawImage 看看

    2022-04-19
    有用
    回复
登录 后发表内容