收藏
回答

API中关于wx.canvasGetImageData的疑问

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.canvasGetImageData 工具 1.02.1803210 1.9.91

为什么我把canvas先插入一个图片使用的方法是:

ctx.drawImage( '/image/benchi.png', 0, 0, 550, 306, 0, 0, system.screenWidth, 300 );

 ctx.draw();

图片能在canvas正常出现,但是我想使用wx.canvasGetImageData获取data然后使用滤镜效果,但是得到的数据全是0;


代码如下:

wx.canvasGetImageData({

      canvasId: 'my-canvas',

      x: 50,

      y: 20,

      width: 50,

      height: 50,

      success( res ){

        console.log( res.data )

      }

    })


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

1 个回答

  • 疯狂的小辣椒
    疯狂的小辣椒
    2018-05-16

    麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题

    2018-05-16
    有用
    回复 3
    • sorryxc
      sorryxc
      2018-05-18
      wechatide://minicode/LETWvumH6GZf 麻烦你看下
      2018-05-18
      回复
    • L.Y.Q
      L.Y.Q
      2018-06-10回复sorryxc

       ctx.draw() 是异步执行的。还没画完,就执行了wx.canvasGetImageData。代码改为:


      ctx.draw(false, () => {

      wx.canvasGetImageData({...}

      })


      得到的数据就是你想要的了。

      2018-06-10
      回复
    • arokie
      arokie
      2022-05-24回复L.Y.Q
      我是在回调里面进行这个调用,拿到的数据也不全是咋回事
      2022-05-24
      回复
登录 后发表内容