Truevision TGA (.tga)

Truevision 標準

TGA(Targa)はTruevisionのTARGAビデオキャプチャボードに関連するラスター形式で、特に1990年代から2000年代にかけて、一部のグラフィックスやゲーム素材の制作工程で使われました。

TGA を PNG に変換

無料のブラウザ内 TGA から PNG へのコンバーター。お使いのデバイスでファイルを即座に変換します。

調査とメタデータ

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してTGAファイルを識別します:

ファイルを選択するか、ここにドロップしてください

プライベート - ファイルがデバイスの外に出ることはありません

または貼り付け Ctrl+V
ネットワーク送信ゼロのプライバシー保証: 外部サーバーへのデータ送信は0バイトです。すべての処理はお使いのブラウザのサンドボックス内でローカルに実行されます。

バイトレベルのヘッダーシグネチャ (マジックバイト)

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してTGAファイルを識別します:

16進数シグネチャ(オフセット0):

固定シグネチャなし

ASCII表現: 固定シグネチャなし

標準化: Truevision TGAファイル形式仕様 v2.0

技術仕様

コンテナアーキテクチャ18バイトの固定ヘッダーに続き、画像ID、カラーマップ、ラスターピクセルデータ、オプションのv2.0フッターを格納
圧縮非圧縮の生走査線、またはパケット単位の可逆ランレングス符号化(RLE)
バイトエンディアンリトルエンディアン(Intel x86)
色空間デバイスRGB
チャンネルと構造8ビットグレースケール、16ビットRGB(5-5-5-1)、24ビットRGB、またはアルファ付き32ビットRGBA
最大寸法65,535 x 65,535ピクセル(16ビット寸法フィールド)
透過性32ビットモードでは完全な8ビットアルファ透明度、16ビットモードでは1ビットアルファに対応
ストリーミングとプログレッシブ走査線を順次ストリーミングし、上から下または下から上の方向に対応

技術比較表:TGAと競合製品

技術属性TGA (現在)PNGBMPDDS
ビデオゲームテクスチャでの使用1990~2000年代の一部ゲームエンジンで使用最新の2D UIおよびWebアセットWindowsレガシービットマップDirectXの最新圧縮GPU形式
アルファチャンネルのサポートクリーンな8ビットアルファ(32ビットモード)クリーンな8ビットアルファ制限付き32ビットアルファDXT/BC圧縮アルファ
圧縮アルゴリズム非圧縮またはパケットRLE可逆Deflate圧縮。削減幅は画像内容によって異なる非圧縮 / RLE直接GPUブロック圧縮(BC1-BC7)
署名の場所26バイトのフッター(「TRUEVISION-XFILE.」)バイト0のヘッダー(「‰PNG....」)バイト0のヘッダー(「BM」)バイト0のヘッダー(「DDS 」)

一般的な破損モードと16進数リカバリガイド

画像が上下逆または水平方向に反転して描画される。

根本原因: 画像記述子のビット(バイト17のビット4および5)がデコーダーによって誤読または反転されている。

復旧: 垂直/水平反転フラグを切り替えるか、File2File.app TGAコンバーターを使用して変換します。

セキュリティ分析とパーサー攻撃ベクトル

TGAデコーダーはパケットベースのRLEストリームを処理するため、不正なランレングス数によって領域外ヒープ書き込みを引き起こす可能性があります。

既知の攻撃ベクター

  • 宛先スキャンラインバッファの境界を超えるRLEパケット長。
  • 宣言されたカラーマップ深度を超えるカラーマップエントリを読み取る際のバッファオーバーフロー。
  • 幅 × 高さ × (bpp / 8) のメモリバッファ割り当て中の整数オーバーフロー。

防御的ベストプラクティス: RLEパケットの展開中に、スキャンラインごとの厳格な境界チェックを適用します。

歴史的背景とマイルストーン

1998TGAは色データとアルファデータを直接扱えるため、ゲーム制作の工程で一般的になりました。id SoftwareのQuake IIなどのゲームエンジンでテクスチャに使われました。
1989TruevisionがTGAファイル形式v2.0をリリースし、標準化された26バイトの「TRUEVISION-XFILE」フッターを追加しました。
1984TruevisionがTARGA(Truevision Advanced Raster Graphics Adapter)ビデオボードとTGA形式を導入しました。

主なメリット

  • 極めて単純なデコードアーキテクチャにより、最小限のCPUオーバーヘッドでGPUテクスチャメモリへの直接ロードが可能です。
  • TGAはアルファチャンネルを含む24ビットRGBまたは32ビットRGBAデータを保存でき、一部のゲーム用テクスチャ、スプライト、デカール制作で役立ちました。
  • 非圧縮と軽量なロスレスRLE圧縮の両方をサポートしています。

技術的な制限とデメリット

  • DDS、KTX2、PNGなどの最新の圧縮テクスチャ形式と比較してファイルサイズが大きくなります。
  • ネイティブなカラープロファイル管理が欠如しています(埋め込みICCプロファイルなし)。
  • オリジナルのv1.0 TGAファイルには、バイト0に標準化されたマジックバイトがありません(ヘッダーフィールドとフッターで識別されます)。

興味深い技術トリビア

  • TGAは、標準的なPCモニターが24ビットカラーを表示できるようになる前、IBM PCで放送用ビデオフレームをキャプチャするために作成されました。
  • TGA 2.0ファイルは、マジック署名(「TRUEVISION-XFILE.」)がファイルの先頭ではなく最後尾に格納されているという特徴があります。
  • id SoftwareやValveの作品を含む一部の1990年代のゲームエンジンは、テクスチャにTGAを使っていました。

よくある技術的な質問

なぜゲーム開発者はTGA形式を好んだのですか?

TGAファイルは非圧縮またはシンプルなRLEであり、ゲームエンジンが低速な解凍処理を行うことなく、32ビットのテクスチャやアルファ透明度をビデオメモリに直接読み込むことができたためです。

バイト0にマジックバイトがないTGAファイルをどのように識別しますか?

現在のTGA 2.0ファイルでは、ファイル末尾の26バイトにASCII文字列「TRUEVISION-XFILE.」が含まれています。

TGAをPNGに変換するにはどうすればよいですか?

TGAファイルにはゲームテクスチャで使われるアルファチャンネルが含まれる場合があります。透明度を保つにはPNGに、小さな不透明画像にするにはJPEGに変換してください。このコンバーターはブラウザー内で動作します。