收藏
回答

canvas组件中type属性与canvas-id属性问题?

按文档提供的例子使用wx.createSelector()来操作canvas时候,使用type属性没有问题。如果使用canvas-id属性怎么获取到canvas呢??两个属性同时使用就会出现其他一些问题,比如wx.createOffscreenCanvas()后面的操作带来一系列问题。总是感觉canvas使用起来的时候太乱了。

wx.createCanvasasContext()又不能使用,感觉wx.createCanvasasContext()、wx.createOffscreenCanvas()、wx.createSelectorQuery()三者获取canvas实列
之后,后面的一系列函数都不知道怎么使用,比如draw()在wx.createOffscreenCanvas()获取实例后使用就出现错误。。。
w我觉得小程序对者三个获取canvas实例及后面的函数操作各自单独写一个文档,不要写在一起,太乱了看不懂。。。


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

1 个回答

  • brave
    brave
    2021-12-11

    2021-12-11
    有用 1
    回复 5
    • 醉无痕
      醉无痕
      2021-12-11
      wx.canvasPutImageData()必须用到canvas-id属性,怎么办??
      wx.createSelectorQuery()只能用type属性,否则获取不到。
      2021-12-11
      回复
    • brave
      brave
      2021-12-11回复醉无痕
      <canvas id="test" canvas-id="test"></canvas>
      wx.createSelectorQuery 使用id -> #test
      2021-12-11
      回复
    • 醉无痕
      醉无痕
      2021-12-11
      const query = wx.createSelectorQuery()
          query.select('#test')
            .fields({ node: true, size: true })
            .exec((res) => {
              const canvas = res[0].node




              const ctx = canvas.getContext('2d')  
             //这里会出现错误,获取不到node




              const dpr = wx.getSystemInfoSync().pixelRatio
              canvas.width = res[0].width * dpr
              canvas.height = res[0].height * dpr
              ctx.scale(dpr, dpr)
              ctx.fillRect(0, 0, 100, 100)
            })
      2021-12-11
      回复
    • K
      K
      2023-07-07
      这个题主怎么解决的呢后面
      2023-07-07
      回复
    • CodeFactory
      CodeFactory
      01-22
      wx.canvasGetImageData 那这个方法该怎么使用呢
      01-22
      回复
登录 后发表内容