主に「ヘッダ部」と「データ部」に分かれます。 ヘッダ部には記述される画像の情報などがかかれデータ部には実際の 画像が書かれます。つまりヘッダ部を読むことによって画像の幅や高さ情報、 どのような色を用いているか等を知ることが出来ます。また、多くの画像 形式ではヘッダ部に自分がどのような形式かということも記述しています。
|
0000000 del X del ` nul dle J F I F nul soh soh stx nul H 0000020 nul H nul nul del [ nul C nul bs ack ack bel ack enq bs 0000040 bel bel bel ht ht bs nl ff dc4 cr ff vt vt ff em dc2 0000060 dc3 si dc4 gs sub us rs gs sub fs fs sp $ . ' sp 0000100 " , # fs fs ( 7 ) , 0 1 4 4 4 us ' 0000120 9 = 8 2 < . 3 4 2 del [ nul C soh ht ht 0000140 ht ff vt ff can cr cr can 2 ! fs ! 2 2 2 2 0000160 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 * 0000220 2 2 2 2 2 2 2 2 2 2 2 2 2 2 del @ 0000240 nul dc1 bs soh ` stx nul etx soh dc1 nul stx dc1 soh etx dc1 0000260 soh del D nul esc nul nul stx etx soh soh soh nul nul nul nul 0000300 nul nul nul nul nul nul nul soh stx etx eot enq ack bel del D 0000320 nul A dle nul stx stx soh etx stx eot eot eot eot eot enq eot 0000340 stx stx etx soh stx etx dc1 nul eot dc2 ! 1 A dc3 " Q 0000360 a enq q soh dc1 dc4 2 R ! B 1 A Q ack # a 0000400 p nak 3 S b q syn C T dc2 r " $ stx dc3 4 0000420 D del D nul em soh nul etx soh soh soh nul nul nul nul nul 0000440 nul nul nul nul nul nul nul soh stx etx eot enq del D nul 2 0000460 dc1 nul stx stx stx stx stx stx stx stx soh stx enq eot etx nul 0000500 nul nul soh stx dc1 dc2 ! etx 1 A Q dc3 " 2 a eot 0000520 q soh dc4 B R dc1 ! 1 p # b A a 3 Q q |
画像形式に関して詳細を知りたい場合には http://www.dcs.ed.ac.uk/home/mxr/gfx/ にいくとよいでしょう。
TGA形式は Truevision社のグラフィックボードで使用されていた画像形式 だそうです。Pov-Ray で必要ですので紹介をしました。TGA 形式の画像形式 の作成方法ですが、GIMP など「気の利いた」画像処理ソフトならサポート してくれていると思います。
おそらく世の中で 1,2 を争うくらい単純な画像形式。ヘッダ情報には画像サイズ と色数しかないので最もローレベルな形式として UNIX な世界では結構利用 されているみたいです。どのくらい単純か?というと UNIX の man コマンドで 仕様がすべて書けてしまうくらい単純です。
PPM 形式は ASCII データ形式と生データ形式の2種類に分かれます。前者は その気になればエディタでもかけます。以下にサンプルを説明しながら 構造を紹介します。
1: P3 2: 4 3 3: # comment 4: 255 5: 255 0 0 0 255 0 0 0 255 255 255 0 6: 0 255 255 255 0 255 255 255 255 0 0 0 7: 40 40 40 80 80 80 120 120 120 200 200 200 |
説明の関係上行番号がつけてありますが実際にはつきません。
1行目 | P3 の場合 ASCIIデータ形式の PPM を P6 の場合は生データ形式 の PPM を表します。 |
2行目 | 幅、高さを空白区切りで指定します。 |
3行目 | # で始まる行はコメントを表します。 |
4行目 | RGB 各要素の色数を指定します。上の例の場合 0 〜 255 までの 256色ずつ、すなわち 256x256x256=1677万色(フルカラー)の画像 であることを示します。 |
5行目以降 | 画像の左上から右下に向かう各ピクセルに対する RGB 要素を 空白区切りで指定します。 |
上のように作成した絵を表示すると
となります。もちろんテキストで RGB 要素を書くとファイルサイズが大きく なるので、各要素を1バイト符号なし char値で指定することも可能です。 この場合ファイルの先頭の P3 を P6 に変更します。以上で PPM 形式の 説明は終りです。これであなたも PPM 画像を自力で書くことが出来る ようになりました!