上面的图像对应于相同的黑白线性渐变,中间的像素具有 50% 的灰度值(~127)。
编码
BufferedImage im = ImageIO.read(filename);
int p = im.getRGB(im.getWidth()/2, im.getHeight()/2);
System.out.printf("%x\n",p);
输出 BMP-rgb 和 GIF 的期望值 ( ff7f7f7f
),但对于第一个 (BMP 灰度) 我得到ffbbbbbb
. 似乎只在这种情况下应用了(强)伽马校正。为什么?
BMP 灰度 (8 bpp)原始
BMP rgb (24 bpp)原始
GIF (8 bpp)原始