ZSoft PCX (.pcx)
ZSoft 標準ZSoft PC Paintbrush Bitmap (PCX) は、MS-DOS、IBM PC 互換機、およびクラシック PC ゲームにおける最初の広く普及したラスター画像標準となった、初期の伝説的な PC グラフィックスフォーマットです。
PCX を PNG に変換
無料のブラウザ内 PCX から PNG へのコンバーター。お使いのデバイスでファイルを即座に変換します。
調査とメタデータ
オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで PCX ファイルを識別します:
バイトレベルのヘッダーシグネチャ (マジックバイト)
オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで PCX ファイルを識別します:
16進数シグネチャ (オフセット 0):
0A 05 01ASCII表現: ...
標準化: ZSoft PC Paintbrush Technical Reference Manual
技術仕様
| コンテナアーキテクチャ | 128-byte fixed header followed by RLE-compressed scanlines and optional trailing 256-color palette |
| 圧縮 | Byte-oriented run-length encoding (RLE) with 0xC0 count indicator bits |
| バイトエンディアン | Little-Endian (Intel x86) |
| 色空間 | CGA 4-color, EGA 16-color, or VGA 256-color paletted RGB |
| チャンネルと構造 | 1, 2, 4, or 8-bit paletted, or 24-bit RGB planar (3 planes of 8-bit data) |
| 最大寸法 | 65,535 x 65,535 pixels (16-bit coordinates) |
| 透過性 | None (opaque legacy raster) |
| ストリーミングとプログレッシブ | Sequential scanline-by-scanline playback |
技術比較マトリックス: PCX 対 競合製品
| 技術属性 | PCX (現在) | BMP | GIF | PNG |
|---|---|---|---|---|
| アクティブな時代 | 1985年 - 1995年(MS-DOS の黄金期) | 1990年 - 現在(Windows 標準) | 1987年 - 現在(Web 標準) | 1996年 - 現在(近代 Web 標準) |
| 圧縮アルゴリズム | バイトラン RLE 圧縮 | 非圧縮 / RLE | 特許フリーの LZW 圧縮 | Deflate LZ77 圧縮 |
| カラーアーキテクチャ | EGA/VGA ビットプレーンおよびパレット | DIB スキャンライン | インデックス 256 色 | トゥルーカラー 24/48 ビット + アルファ |
| パレットの位置 | EOF に追加(768 バイト) | ファイルヘッダー付近 | ファイルヘッダー付近 | 埋め込み PLTE チャンク |
一般的な破損モードと16進数リカバリガイド
画像の色が完全に反転したり、サイケデリックなネガのように化けたりしてレンダリングされる。
根本原因: ファイル末尾にある 256 色 VGA パレットブロックの欠落または切り詰め。
復旧: デフォルトの VGA パレットを再適用するか、File2File PCX コンバーターを使用して PNG にトランスコードしてください。
セキュリティ分析とパーサー攻撃ベクトル
PCX デコーダーは、ランレングス符号化されたバイトをスキャンラインに処理しますが、不正なランカウントによってヒープバッファオーバーフローが発生する可能性があります。
既知の攻撃ベクター
- スキャンライン幅を超える RLE バイトのランレングスにより、バッファ境界を超えたメモリ書き込みが発生する。
- ヘッダーで宣言されたプレーン数を超えてプレーンを読み取る際のバッファオーバーフロー。
- 破損したパレットオフセット計算を介したサービス拒否(DoS)。
防御的ベストプラクティス:
歴史的背景とマイルストーン
主な利点とメリット
- 豊かな歴史的意義:初期の IBM PC ゲームおよびシェアウェア革命の基盤となったフォーマット。
- ハードウェア指向の平面型(プレーン)メモリレイアウトにより、EGA/VGA ビデオカードメモリへの直接コピーが可能。
- 軽量な RLE 圧縮により、低色数のイラストや図面のファイルサイズを削減します。
技術的な制限とデメリット
- 陳腐化:事実上、すべての現代のワークフローは PNG や近代的なラスターフォーマットに移行しています。
- VGA 256 色パレットがファイルの最後尾に追加されているため、色をデコードするにはファイルを最後まで読み込む必要があります。
- 複雑な写真画像に対しては圧縮効率が良くありません。
興味深い技術トリビア
- すべての PCX ファイルの最初のバイトは常に 0x0A(10 進数の 10)であり、ZSoft の社内メーカー ID を表しています。
- 8 ビットの PCX ファイルに 256 色パレットがあるかどうかを確認するには、ファイルの末尾から 769 バイトの位置にシークし、0x0C(10 進数の 12)というバイトがあるかチェックします。
- 『Wolfenstein 3D』、『DOOM』、『Duke Nukem 3D』などのクラシック PC ゲームは、プロモーション用スクリーンショットやメニューアートを PCX 形式で保存していました。
よくある技術的な質問
どのようなプログラムが.PCXファイルを作成しましたか?
1980年代にIBM PC向けの最初の人気グラフィックスプログラムであり、MicrosoftマウスによくバンドルされていたZSoft PC Paintbrushです。
古いPCXファイルをPNGやJPGに変換できますか?
はい。File2File.appを使用すると、歴史的なPCXのゲームテクスチャやアートワークを、ブラウザ内で直接シャープで現代的なPNGやJPG画像に変換できます。
なぜカラーパレットがPCXファイルの末尾にあるのですか?
1988年に256色のVGAが導入された際、ZSoftは古い16色デコーダーとの下位互換性を維持するため、マーカー0x0Cに続いて768バイトのRGBパレットをファイルの末尾に追加しました。