###############
# TGAビューア #
###############

「TGA形式」の画像ファイルを、P/ECE上で表示します。

================
インストール方法
================

1. 「tgaview.pex」を、P/ECEに転送してください。
2. TGAファイル(拡張子.tga)を、P/ECEに転送してください。

========
操作方法
========

上下ボタン　　　　　　ファイルを選択します。
Ａボタン　　　　　　　ファイルを決定します。
Ｂボタン　　　　　　　メニューを消します。
ＳＥＬＥＣＴボタン　　プログラムを終了します。

========
あとがき
========

TGA形式の勉強をしながら、P/ECEでTGA形式の画像ファイルを表示する、TGAビューアを作りました。
P/ECEのフラッシュメモリ容量に入るTGAファイルならば、P/ECEの画面よりも大きな画像でも自動的に縮小して表示します。
<a href='test-result/test-result.html'>こちらのページ</a>に、表示テストの結果をまとめました。

JPEG、PNG、GIFに引き続き、画像ファイルフォーマットの勉強です。
前回のGIF形式と同じく、TGA形式にも、エンコード・デコードの標準的なライブラリが存在しないみたいです。
でも、TGA形式は構造が単純なので、<a href='http://tfcduke.developpez.com/tutoriel/format/tga/fichiers/tga_specs.pdf'>TGA形式の仕様書</a>を読めば、簡単にデコーダを実装できます。
構造が単純で扱いやすいことに加えて、半透明に対応していることが利点で、ゲームや3Dツールの画像ファイルとしてよく利用されているようです。

デコーダを実装することよりも、テスト用のTGAファイルを作成することに手間取りました。
TGA形式に対応しているグラフィックツールやコンバータが少なく、対応していても、限定的であったりするためです。
<a href='http://www.gimp.org/'>GIMP</a>が対応しているらしいのですが、僕のPCには入っていないので、今回は有り合わせのツールで何とかすることにしました。
手元に有るツールで、TGA形式に対応しているのは、「<a href='http://www.corel.jp/paintshoppro/'>Paint Shop Pro</a> (3.12)」、「<a href='http://www.nchsoftware.com/imageconverter/'>Pixillion Image Converter</a> (2.22)」、「<a href='http://www.imagemagick.org/'>ImageMagick</a> (6.5)」です。

・Paint Shop Pro (v3.12)
　編集した画像を、TGA形式の「TRUE-COLOR 16,24 Bit」、「COLOR-MAPPED 8 Bit (Color Map Entry 24 Bit)」で保存できます。
　「Uncompressed」、「Run-length encoded」のどちらでも保存できます。
　「TRUE-COLOR 32 Bit」、「COLOR-MAPPED 8 Bit (Color Map Entry 15,16,32 Bit)」、「BLACK AND WHITE 8 Bit」では保存できません。

・Pixillion Image Converter (v2.22)
　他の画像形式から、TGA形式の「TRUE-COLOR 16,24,32 Bit」に変換できます。
　「Uncompressed」、「Run-length encoded」のどちらにも変換できます。
　「COLOR-MAPPED 8 Bit (Color Map Entry 15,16,24,32 Bit)」、「BLACK AND WHITE 8 Bit」には変換できません。
　半透明付きPNGから、TRUE-COLOR 32 BitのTGAに変換すると、半透明付きTGAを作成することができ、なかなか便利です。

・ImageMagick (v6.5)
　他の画像形式から、TGA形式の「TRUE-COLOR 24 Bit」に変換できます。
　オプションの指定がとても多くて、僕が使い方をよく理解していないため、それ以外の変換方法がわかりませんでした。
　Web上の情報によると、ImageMagickのTGA対応は限定的で、「Run-length encoded」のTGA形式へは変換できないそうです。

今回は、PNG形式で元素材を調整しておいて、「Paint Shop Pro (3.12)」と「Pixillion Image Converter (2.22)」を使って、TGA形式に変換する方法を採りました。
TGAとPNGのファイル構造はまったく異なっているのですが、格納している画像の情報は似ていて、変換時に情報落ちが少ないためです。
「COLOR-MAPPED 8 Bit (Color Map Entry 15,16,32 Bit)」と「BLACK AND WHITE 8 Bit」は、どちらを使っても変換できないので、バイナリエディタで直接編集して作成しました。
「COLOR-MAPPED 8 Bit (Color Map Entry 15,16,32 Bit)」は、「COLOR-MAPPED 8 Bit (Color Map Entry 24 Bit)」を元に、カラーマップを書き換えて作成しました。
「BLACK AND WHITE 8 Bit」は、「COLOR-MAPPED 8 Bit (Color Map Entry 24 Bit)」を元に、カラーマップを削除して作成しました。

TGA形式は、圧縮を重視した形式ではなく、P/ECEで使うにはあまり利点が無いのですけれど、ゲームや3Dツールでよく利用されているため、勉強してみました。
Windows BMPよりも構造が単純で、プログラムから直接扱い易いことが実感できました。
でも前述のように、TGA形式に対応したツールが少ないのが難点・・・GIMPを使えばもっと簡単に作成できるのかな? 要調査です。

==================
Wed Apr 29 2009
Naoyuki Sawa
nsawa@piece-me.org
==================
