地址1D表示图像是每像素8位,但不是,每个像素由3个字节(24位)表示。
起初,我认为photoshop错误地做了这个,但我发现这种格式用于所有灰度图像。
为什么.bmp图像不使用0-FF中的值来描述每个像素的灰度值,而不是使用四个字节作为像素?
编辑:我能够回答我自己关于文件结构的问题
每像素8位(8bpp)格式 支持256种不同的颜色和 每1字节存储1个像素。
每个字节 是一个最多256个表的索引 颜色。此颜色表采用32bpp 8.8.8.0.8 RGBAX格式。
十六进制编辑器中显示的颜色表是每像素四个字节。
远低于实际的像素阵列,即每像素8位。
我通过计算得出,图像是64 x 64,4096像素。
像素阵列从436开始,到1437结束。在十进制中,这两个数字之间的差异是4097,所以像素数组恰好是每个像素一个字节。
我仍然很好奇为什么灰度图像需要颜色表,不过
答案 0 :(得分:0)
我仍然很好奇为什么灰度图像需要颜色表,不过
看起来bmp文件没有特殊的灰度模式。因此,您无法在标题中设置格式为灰度,因此您需要使用颜色表来定义您使用的颜色。即使所有颜色都是灰度。
如果查看.png格式,可以定义使用灰度图像,因此不需要颜色表。 (但也可以使用颜色表来创建灰度图像。)