Image Loader
ホーム 上へ

New (2001/10/17)         

BMP画像形式の?(不思議)の続きです。

DOS時代のCG画像には、当時使っていた3DCGソフト(C-TRACE)の独自画像形式(.img)というものばかりが残っていました。CGコンテスト等に応募したものなどは、RGBベタファイルに変換してあったのですが、ほとんどは.imgのままでした。今になって画像を見ようと思っても、画像ローダーがありません。先日「BMP画像形式の?」で書いたように、RGBベタファイルを表示して、BMP形式で保存するツールは出来ています。そこで、C-TRACEの独自画像形式.imgのローダーさえ出来れば、imgをBMPに変換保存するツールを作るのは簡単な仕事です。

早速C-TRACEのマニュアルを探すと、見つかりました。DOS時代のソフトはすっかり処分してしまったのにマニュアルは何故か残っていました。マニュアルには、imgファイルフォーマットとヘッダーの詳細説明が載っていました。幸運です。

(1)C-TRACE 旧タイプIMGファイルフォーマット

バイト数 名前 説明
2 TYPE 0:カラー、1:モノクロ
2 WIDTH X方向ドット数
2 HEIGHT Y方向ドット数
4     常に0
4 HEADE_SIZE ヘッダーの大きさ(データ部分へのオフセット)バイト数
    DATA カラーの場合:Redを1バイト、Greenを1バイト、Blue1バイト、夫々256階調で全ピクセル分繰り返す。
        モノクロの場合:輝度を256階調1バイトで全ピクセル分繰り返す。

(2)C-TRACE 新タイプIMGファイルフォーマット

バイト数 名前 説明
  2 TYPE データのタイプ、カラーorモノクロ、α情報有り無しなど
  2 WIDTH X方向ドット数
  2 HEIGHT Y方向ドット数
  2 TILE_X 分割マッピング時の各分割データのX方向のドット数
  2 TILE_Y 分割マッピング時の各分割データのY方向のドット数
  4 HEADER_SIZE ヘッダーの大きさ(データ部分へのオフセット)バイト数
256 ID C-TRACEのIMGファイルであることを明確にする文字列
  2 STEP_X ステップ数(X方向)
  2 STEP_Y ステップ数(Y方向)
  2 AREA_LX エリアの左下X座標
  2 AREA_LY エリアの左下Y座標
  2 AREA_RX エリアの右上X座標
  2 AREA_RY エリアの右上Y座標
  2 SCOPE_LX スコープの左下X座標
  2 SCOPE_LY スコープの左下Y座標
  2 SCOPE_RX スコープの右上X座標
  2 SCOPE_RY スコープの右上Y座標
  2 TERMINATE_LINE 計算が中断されたライン
    DATA Redを1バイト、Greenを1バイト、Blue1バイト、αチャネル1バイトを、夫々256階調で全ピクセル分繰り返す。

早速ヘッダー部分を読み取って、画像データ(RGBベタ部分)を表示するプログラムを作成しました。ヘッダー部分の解析により、フルカラー、モノクロ、バージョン等の違いによる画像データへのオフセットの違い、α情報の有り無しなどを判別し、処理を切り分けます。見事に完成。でも、このソフト、私にしか役に立たないでしょうね。

戻る ホーム 上へ