收藏
回答

type="webgl" 如何使用canvasGetImageData?

canvas画布,type="webgl", wx.canvasGetImageData报错 {errMsg: "canvasGetImageData: fail canvas is empty"}

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

1 个回答

  • 是非
    是非
    2021-08-18

    要换成这个 api,ctx.getImageData(x,y,width,height),ctx是canvas的实例

    获取canvas实例的例子:

    // canvas.js
    Page({
      onReady() {
        const query = wx.createSelectorQuery()
        query.select('#myCanvas')
          .fields({ node: true, size: true })
          .exec((res) => {
            const canvas = res[0].node
            ctx = canvas.getContext('2d')
    
            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)
          })
      }
    })
    

    获取imagedata,如果有缩放画布,像上面的代码,获取时参数也要乘以一个scale。没有缩放画布就不用乘。

    imageData = ctx.getImageData(x *dpr , y *dpr , width *dpr , height *dpr );
    
    2021-08-18
    有用 1
    回复
登录 后发表内容
问题标签