0

十六进制编辑器

地址 1D 表示图像是每个像素 8 位,但不是,每个像素由 3 个字节(24 位)表示。

起初,我认为 Photoshop 这样做是错误的,但我发现这种格式用于所有灰度图像。

为什么 .bmp 图像不使用 4 个字节作为像素,而是使用 0 - FF 的值来描述每个像素的灰度值?

编辑:我能够回答我自己关于文件结构的问题

来自维基百科

每像素 8 位 (8bpp) 格式支持 256 种不同的颜色,每 1 个字节存储 1 个像素。

每个字节是最多 256 种颜色表的索引。此颜色表采用 32bpp 8.8.8.0.8 RGBAX 格式。

十六进制编辑器中显示的颜色表是每个像素四个字节。

远低于实际像素阵列,即每像素 8 位。

实际的像素阵列

我通过计算得出,图像是 64 x 64, 4096 像素。

像素数组从 436 开始,到 1437 结束。在十进制中,这两个数字之间的差为 4097,因此像素数组正好是每个像素一个字节。

不过,我仍然很好奇为什么灰度图像需要颜色表

4

1 回答 1

0

不过,我仍然很好奇为什么灰度图像需要颜色表

看起来 bmp 文件没有特殊的灰度模式。所以你不能在标题中设置格式为灰度,所以你需要颜色表来定义你使用的颜色。即使所有颜色都是灰度的。

如果您查看.png格式,您可以定义您使用的是灰度图像,因此您不需要那里的颜色表。(但也可以使用颜色表来创建灰度图像)。

于 2011-06-12T17:28:01.407 回答