收藏
回答

wx.canvasGetImageData 真机和开发环境调试返回数据不同

问题模块 框架类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 wx.canvasGetImageData 微信iOS客户端 iOS 6.6.5 1.9.9

真机上测试和开发工具里返回的数据不同

开发工具:


真机测试:




代码:


wx.canvasGetImageData({
  canvasId: 'mycanvas',
  x: 0,
  y: 0,
  width: 300,
  height: 300,
  success(res) {
    var vdata = 0;
    for (var i in res.data) {
      if (res.data[i] > 0 && res.data[i] != 255) {
        vdata = vdata + 1;
      }
    }
    console.log(vdata)
 
  }, fail(res) {
 
    console.log(res)
 
  }
})


最后一次编辑于  2018-03-21  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

8 个回答

  • 黄思程
    黄思程
    2018-03-23

    是在draw回调里调用的吗

    2018-03-23
    赞同
    回复
  • 黄思程
    黄思程
    2018-03-21

    数据源一样的吗?

    2018-03-21
    赞同
    回复
  • 黄思程
    黄思程
    2018-03-21

    用什么数据渲染到canvas?

    2018-03-21
    赞同
    回复
  • 黄思程
    黄思程
    2018-03-21

    canvas 大小都是300*300吗

    2018-03-21
    赞同
    回复
  • Jerry Yang
    Jerry Yang
    2018-03-21

    我只是统计的大于0 且不等于255的值,发现测试环境和手机环境里,打印出的个数不同

    2018-03-21
    赞同 1
    回复 1
    • peter
      peter
      星期四 17:55
      我也遇到了这个问题,最后是怎么解决的呢
      星期四 17:55
      回复
  • Jerry Yang
    Jerry Yang
    2018-03-21

    没人遇到这个问题吗?

    2018-03-21
    赞同 1
    回复
  • Jerry Yang
    Jerry Yang
    2018-03-22

    ios上转了一下就好了,谢谢,但是在安卓5.1上安装了最新版微信,

    wx.canvasGetImageData方法会报错(测试环境中和ios微信中均无错)


    2018-03-22
    赞同
    回复
  • Jerry Yang
    Jerry Yang
    2018-03-21

    对,都是300*300

    2018-03-21
    赞同
    回复