スポンサーリンク

PBM(5) FreeBSD ファイルフォーマットマニュアル PBM(5)

名称

pbm − ポータブルビットマップファイルのフォーマット

解説

ポータブルビットマップフォーマットは、最低位の共通の白黒画像ファイル フォーマットです。元々は、異なったタイプのマシン間で、ビットマップ転送に は適さないネットワークメーラを使用して、ビットマップをメールで受け渡しす る妥当な方法としてデザインされました。現在は、多くのビットマップ変換フィ ルタ群の共通語として使用されています。定義を以下に示します:

 ファイルタイプを識別するための "マジックナンバ"。 pbm ファイルのマジックナンバは "P1" の 2 文字です。

空白 (複数のブランク・TAB・CR・LF から成ります)。
幅を ASCII 10 進数で表記します。
空白。
高さを ASCII 10 進数で表記します。
空白。
幅 * 高さの数のビット。各ビットは ’1’ または ’0’ で表し、ビットマップ 左上角を起点として通常の英語を読む向きに連続します。
文字 ’1’ は黒を、’0’ は白を表します。
ビット部の空白は無視されます。
"#" から行末までの文字列は無視されます (コメント)。
長さが 70 文字を越える行は許されません。

以下に、このフォーマットでの小さなビットマップの例を示します:

P1
# feep.pbm
24 7
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0
0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0
0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

このフォーマットを読むプログラムは可能な限り寛大になるべきで、少しでも ビットマップのように見えるものはなんでも受け付けるべきです。

このフォーマットには派生形式があり、 RAWBITS オプションをコンパイル時に セットすることで利用可能です。この派生形式は、以下の点が異なります:

 "マジックナンバ" が "P1" ではなく "P4" です。

8 ビットが 1 バイトに格納されます。上位ビットが先で下位ビットが後にな ります。
ビット部には空白は許されませんし、高さの後には単一の空白 (通常は改行) のみが許されます。
ファイルは 1/8 の大きさになり、読み書きが何倍も高速になります。

作者

Copyright (C) 1989, 1991 by Jef Poskanzer.

FreeBSD 10.0 September 27, 1991 FreeBSD 10.0

スポンサーリンク