收藏
回答

canvas的fillRect设置的画布大小不管用

我在用canvas画图时,如果不单独给canvas标签设置wxss样式固定宽高,单纯的用fillRect设置画布大小不管用,此时画布的大小总是默认300*150,附上代码:

const canvasCtx = wx.createCanvasContext('indexCanvas');

canvasCtx.clearRect(0, 0, 600, 600);

canvasCtx.setFillStyle('red');

canvasCtx.fillRect(0, 0, 600, 600);

canvasCtx.draw();


我这么设置,没有使用wxss单独设置canvas,标签画布显示应该是300*300的,结果总是显示300*150的大小


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

8 个回答

  • 卢霄霄
    卢霄霄
    2018-09-19

    你怕不是对 fillRect 有啥误会哦。。这个是填充区域。跟画布大小无关

    2018-09-19
    赞同
    回复 3
    • Typhoon
      Typhoon
      2018-09-19

      嗯,好吧

      2018-09-19
      赞同
      回复
    • 巴斯光年
      巴斯光年
      2018-09-19

      哥们,你是腾讯派来专门来解答问题的专家么?

      2018-09-19
      赞同
      回复
    • 卢霄霄
      卢霄霄
      2018-09-19回复巴斯光年

      专家。。你也太看得起我了。。只是有些问题我看见过,顺便回答下哟

      2018-09-19
      赞同
      回复
  • (・ω・)ノ
    (・ω・)ノ
    2018-09-19

    canvas设置画布大小是在 <canvas>标签里写

    style="width: 400px; height: 500px;"

    (官方文档要好好阅读啊 童鞋....

    2018-09-19
    赞同
    回复 1
    • Typhoon
      Typhoon
      2018-09-19

      额,😓

      2018-09-19
      赞同
      回复
  • 巴斯光年
    巴斯光年
    2018-09-19

    要是动态设置大小,就用数据绑定

    style="width:{{canvasW}}px"


    然后在onload 方法里面

    setData({

    canvasW:300

    }}

    2018-09-19
    赞同
    回复 1
    • Typhoon
      Typhoon
      2018-09-19

      好的,谢谢了


      2018-09-19
      赞同
      回复