2006 年 1 月 18 日 23 時 59 分

画像データの構造(24 ビット)


このアーカイブは同期化されません。 mixi の日記が更新されても、このアーカイブには反映されません。


[写真]


BMP は、ヘッダ部と画像データ部でできている。
ヘッダの解説は次回以降にしよう。

BMP の画像データは、行データの集合となっている。
行データは下から上の順番に連続して格納される。
つまり、まずは最下行データがあり、最後に最上行データが来る。
他のフォーマットと異なり、下から上への順番である。

行データは、ピクセルデータの集合+詰め物となっている。
ピクセルは、左から右の順番に連続して格納される。
詰め物は、値 0 のバイトで、
行データが 4 の倍数バイトに満たない場合に行末に追加される。
そのため、行は常に 4 の倍数バイトサイズとなる。
昨日、幅を 4 の倍数に限定したのは解説が面倒だったから。

ピクセルデータには、いくつかの表現があるが、
前回作成したのは、24 ビットの BMP だ。
この形式の場合、ピクセルデータはそれぞれ 24 ビットで、
ピクセルは 8 ビットの B, G, R 値がこの順番に続いている。

例えば、24 ビットで、幅が 7 ピクセルの場合、
行データは以下のようになる。

BGRBGRBGRBGRBGRBGRBGRxxx

3 x 7 = 21 なので、4 の倍数にならないため、
末尾に詰め物が入る。この例では 3 バイトある。



Copyright (c) 1994-2007 Project Loafer. All rights reserved.