收藏
回答

canvas初始化照着写的,咋说ctx没定义?求大神指教

drawProgressbg: function () {

    // 使用 wx.createContext 获取绘图上下文 context

    wx.createSelectorQuery()

    .select('canvasProgressbg'// 在 WXML 中填入的 id

    .fields({ node: true, size: true })

    .exec((res) => {

        // Canvas 对象

        const canvas = res[0].node

        // 渲染上下文

        const ctx = canvas.getContext('2d')


        // Canvas 画布的实际绘制宽高

        const width = res[0].width

        const height = res[0].height


        // 初始化画布大小

        const dpr = wx.getWindowInfo().pixelRatio

        canvas.width = width * dpr

        canvas.height = height * dpr

        ctx.scale(dpr, dpr)})

    ctx.setLineWidth(5); // 设置圆环的宽度

    ctx.setStrokeStyle('#a9a9a9'); // 设置圆环的颜色

    ctx.setLineCap('round'); // 设置圆环端点的形状

    ctx.beginPath(); //开始一个新的路径

    ctx.arc(110, 110, 100, 0, 2 * Math.PI, false);

    //设置一个原点(100,100),半径为90的圆的路径到当前路径

    ctx.stroke(); //对当前路径进行描边

    ctx.draw();

  },

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

2 个回答

  • 神经蛙
    神经蛙
    03-08

    你这里就已经结束了,下面的代码没在ctx的作用域里啊

    03-08
    有用
    回复 11
    • 柯南
      柯南
      03-08
      改了以后全是这个错误,咋改
      03-08
      回复
    • 神经蛙
      神经蛙
      03-08回复柯南
      你怎么改的
      03-08
      回复
    • 神经蛙
      神经蛙
      03-08回复柯南
      把括号向下挪,把ctx都括起来
      03-08
      回复
    • 柯南
      柯南
      03-08回复神经蛙
      是这样改的,但改完以后是这个了
      03-08
      回复
    • 神经蛙
      神经蛙
      03-08回复柯南
      没复现,把你改的截个图
      03-08
      回复
    查看更多(6)
  • hishion
    hishion
    03-08

     .select('#canvasProgressbg')

    03-08
    有用
    回复 1
    • 柯南
      柯南
      03-08
      改了。但还是不行
      03-08
      回复
登录 后发表内容