2006 年 1 月 25 日 23 時 14 分

BMP まとめ #1


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


この何日か、内容が飛躍しすぎてる気がしてきたので、
ちょっとスローダウンしよう。

今まで扱った BMP についてまとめてみる。
まずは、BMP の表現形式について。

BMP の標準的な形式には、ピクセルあたり
表現ビット数が 1, 4, 8, 16, 24, 32 ビットの種類がある。

表現ビット数が 16, 24, 32 ビットのものは、
各ピクセルは RGB 表現そのものである。
16 ビットの場合は、R, G, B それぞれ 5 ビット、
24, 32 ビットの場合はそれぞれ 8 ビット使用する。

16 ビットの場合、0 ~ 31、
24, 32 ビットの場合、0 ~ 255 の範囲の値が利用できる。

各ピクセルは、RGB をビット長にパックしたものであり、
R, G, B の順に並び、右(下位ビット)に詰められる。

16 ビットの場合、0b0rrrrrgggggbbbbb
24 ビットの場合、0brrrrrrrrggggggggbbbbbbbb
32 ビットの場合、0b00000000rrrrrrrrggggggggbbbbbbbb

表現ビット数が 1, 4, 8 ビットのものは、
指定ビットで表現可能な数のカラーテーブルを別に持つ。

1 ビットの場合、カラーテーブルは 2 色
4 ビットの場合、カラーテーブルは 16 色
8 ビットの場合、カラーテーブルは 256 色の区画を持つ。

カラーテーブルの各区画は、
R, G, B を 各 8 ビットずつで表現した 32 ビット値である。
これは、32 ビット BMP のピクセル表現と同じである。
0b00000000rrrrrrrrggggggggbbbbbbbb

各ピクセルはカラーテーブルの区画番号であり、
0 から始まる数値使って表現される。つまり、

1 ビットの場合、0 か 1、
4 ビットの場合、0 ~ 15、
8 ビットの場合、0 ~ 255 である。

BMP には他にもいくつかのフォーマットや拡張があるが、
基本的には、上記の情報だけでも十分である。

あしたは、ファイル構造についてまとめよう。



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