ZSoft PCX (.pcx)

ZSoft 標準

ZSoft PC Paintbrush Bitmap (PCX) は、MS-DOS、IBM PC 互換機、およびクラシック PC ゲームにおける最初の広く普及したラスター画像標準となった、初期の伝説的な PC グラフィックスフォーマットです。

PCX を PNG に変換

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

調査とメタデータ

オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで PCX ファイルを識別します:

ここにファイルを選択またはドロップ

100%プライベートなブラウザ内変換 - ファイルがデバイスから外部に出ることはありません

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

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

オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで PCX ファイルを識別します:

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

0A 05 01

ASCII表現: ...

標準化: 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 (現在)BMPGIFPNG
アクティブな時代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)。

防御的ベストプラクティス:

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

1993id Software が『DOOM』をリリース。タイトル画面、メニュー、テクスチャアートワークに PCX フォーマットを使用。
1988PCX リビジョン 5 により、ファイル末尾に格納される 256 色 VGA パレットのサポートが導入される。
1985ZSoft が Microsoft Mouse ハードウェアにバンドルされる PC Paintbrush と共に PCX を導入。

主な利点とメリット

  • 豊かな歴史的意義:初期の 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パレットをファイルの末尾に追加しました。