收藏
回答

wx.canvasGetImageData获取data的值全是0,如何解决?

请问 wx.canvasGetImageData获取data的值全是0,如何解决?

代码片段:https://developers.weixin.qq.com/s/ZuSWWRm47vn3

最后一次编辑于  2021-02-04
回答关注问题邀请回答
收藏

6 个回答

  • 是非
    是非
    2021-08-18

    我碰到的问题是对canvas设置了scale,然后 getImageData 的参数也要乘以一个scale

    const dpr = wx.getSystemInfoSync().pixelRatio
    canvas.width = res[0].width * dpr
    canvas.height = res[0].height * dpr
    ctx.scale(dpr, dpr)
    
    var imagedata = ctx.getImageData(x*dpr , y*dpr , width*dpr , height*dpr );
    
    
    2021-08-18
    有用 2
    回复
  • 周
    08-18

    25年了啊,社区一搜没有能解决我的问题的答案,甚至搜不到更详尽的提示,网络上搜了N多关键信息,在犄角旮旯里找到一条“一个非常重要但容易被忽视的iOS特性: 在iOS系统上, wx.canvasGetImageData 的 x 、 y 、 width 、 height 参数必须是整数 。如果这些参数包含小数,iOS设备会返回全0的像素数据。”MD笑死,我的问题就这么突然解决了。

    08-18
    有用 1
    回复
  • Z. H. J. 👑 👑 👑
    Z. H. J. 👑 👑 👑
    2022-04-24

    我这边遇到这个问题之后的解决方法:

    我没有对canvas进行初始化操作(需要将整个画布,填充背景为白色的矩形):

    2022-04-24
    有用
    回复
  • 萧漠
    萧漠
    2021-12-14

    https://developers.weixin.qq.com/s/6KWIExmo7JvT

    加了一个ctx.draw() 和  setTimeout 后上面的可以得到非零数据

    2021-12-14
    有用
    回复
  • ZYH
    ZYH
    2021-02-04

    已解决

    2021-02-04
    有用
    回复 4
    • LH
      LH
      2021-05-11
      能提供一下代码片段嘛,谢谢
      2021-05-11
      回复
    • 空★壳
      空★壳
      2021-07-13
      请教一下,是怎么解决的呢?
      2021-07-13
      回复
    • 李骐辛
      李骐辛
      2021-07-27
      别这么自私嘛
      2021-07-27
      回复
    • 是非
      是非
      2021-08-18回复李骐辛
      看他图片应该也是scale的问题
      2021-08-18
      回复
  • 😶
    😶
    2021-02-04

    参考:https://developers.weixin.qq.com/community/develop/doc/000c22a004cf308fde96c52815b800?_at=1612433967781

    2021-02-04
    有用
    回复
登录 后发表内容
问题标签