收藏
回答

canvas中canvasPutImageData的数据,苹果和安卓系统是相反

在使用canvasPutImageData时有差别,苹果和安卓正好数据相反,导致每次涉及canvasPutImageData都要做兼容处理,以下是使用数据分段绘制时,在(0,0),(0,200),(0,400)三个位置依次绘制数据的结果;安卓是正常的会拼凑成一张图,但苹果的数据相反,应该是苹果获得的Uint8ClampedArray是反向计算的,即安卓的data[0~3]对应苹果的data[length-4~length-1]

苹果机图片

安卓和PC图片

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

2 个回答

  • L.Y.Q
    L.Y.Q
    2018-04-15

    遇到了和你一样的问题,也在等官方回复。官方没解决前,可以试试,如果是苹果的,imageData就做一下镜面翻转,不过要牺牲一下性能了。

    2018-04-15
    赞同
    回复 1
    • naeco
      naeco
      2018-06-09

      怎么反转?

      2018-06-09
      回复
  • 疾驰
    疾驰
    2018-04-14

    实验方式,将一张图片使用canvasPutImageData获得数据,分成三份按顺序重新绘制;安卓是正常的,苹果则会反向绘制


    2018-04-14
    赞同
    回复