收藏
回答

API中关于wx.canvasGetImageData的疑问

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
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 )

      }

    })


最后一次编辑于  2018-05-16
回答关注问题邀请回答
收藏

1 个回答

  • 社区技术运营专员-娇华
    社区技术运营专员-娇华
    2018-05-16

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

    2018-05-16
    赞同
    回复 2
    • 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
      回复