このアーカイブは同期化されません。 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 には他にもいくつかのフォーマットや拡張があるが、
基本的には、上記の情報だけでも十分である。
あしたは、ファイル構造についてまとめよう。