2011-05-30 30 views
0

Hex editor爲什麼在這個.bmp圖像中0x1C的bpp信息是錯誤的?

地址1D表示圖像是每像素8位,但不是,每個像素用3個字節(24位)表示。

起初,我以爲photoshop做錯了,但我發現這種格式是用於所有灰度圖像。

而不是使用四個字節的像素,爲什麼.bmp圖像使用值0 - FF來描述每個像素的灰度值?

編輯:我能回答我的問題有關的文件結構

from Wikipedia

每像素8位(8bpp的)格式 支持256點不同的顏色和 商店1每1字節的像素。

每個字節 是一個表格中的一個索引,最多可達256個 顏色。此顏色表格採用32bpp 8.8.8.0.8 RGBAX格式。

十六進制編輯器中顯示的顏色表是每個像素四個字節。

遠遠低於那個實際的像素數組,每個像素8位。

the actual pixel array

我想通出通過計算,該圖像是64×64,4096個像素。

像素數組開始於436,結束於1437.在十進制中,這兩個數字之間的差異是4097,所以像素數組恰好是每像素一個字節。

我,爲什麼顏色表是必要的灰度圖像仍然好奇,雖然

+0

嗯...我沒有注意到數字正在穩步遞增,這種格式比我第一次想到的要複雜。圖像的前三分之一是相同的黑色值,但值改變... – superlazyname 2011-05-30 14:08:10

+0

看着這個模式,我會說它使用每個像素4個字節。 – zneak 2011-05-30 14:11:08

回答

0

我,爲什麼顏色表是必要的灰度圖像仍然好奇,雖然

它看起來像bmp文件沒有特殊的灰度模式。所以你不能在標題中設置格式爲灰度,所以你需要顏色表來定義你使用的顏色。即使所有顏色都是灰度。

如果你看.png格式,你可以定義你使用的是灰度圖像,所以你不需要一個顏色表。 (但也可以使用顏色表來創建灰度圖像)。

相關問題