如果将16位单通道(灰度)原始像素数据无损编码为图像格式(例如PNG,Webp,Jpeg-2000或JPEG-XR)并将图像渲染为HTML5画布,那么有没有办法从画布中检索原始的16位Raw像素数据?
答案 0 :(得分:3)
当绘制到画布时,图像被解压缩,并且所有像素数据被预乘,并转换为24位数据+ 8位alpha通道(RGBA)。 在此过程中,由于各种舍入误差,图像会丢失原始图像中的所有内容,即使是相同颜色深度的原始图像(请参阅Canvas fingerprinting。)
所以即使是无损格式在画布上也很松散。
如果您需要原始数据,您需要自己编写解析器并直接将图像文件视为arrayBuffer。