canvas中canvasPutImageData的数据,苹果和安卓系统是相反
发布于 4 年前 作者 yshen 12108 次浏览 来自 问答

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

苹果机图片

安卓和PC图片

2 回复

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

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

回到顶部