ZSoft PCX (.pcx)

ZSoft 標準

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

PCX を PNG に変換

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

調査とメタデータ

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

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

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

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

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

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

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

0A 05 01

ASCII表現: ...

標準化: ZSoft PC Paintbrush技術リファレンスマニュアル

技術仕様

コンテナアーキテクチャ128バイトの固定ヘッダーに続き、RLE圧縮走査線とオプションの末尾256色パレットを格納
圧縮0xC0の個数識別ビットを用いるバイト単位のランレングス符号化(RLE)
バイトエンディアンリトルエンディアン(Intel x86)
色空間CGA 4色、EGA 16色、またはVGA 256色のパレットRGB
チャンネルと構造1、2、4、8ビットのパレット、または24ビットRGBプレーナー(8ビットデータを3面に格納)
最大寸法65,535 x 65,535ピクセル(16ビット座標)
透過性なし(不透明な旧式ラスタ形式)
ストリーミングとプログレッシブ走査線を順次再生

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

技術属性PCX (現在)BMPGIFPNG
主な利用時期1985年 - 1995年(MS-DOS の黄金期)1990年 - 現在(Windows 標準)1987年 - 現在(Web 標準)1996年 - 現在(最新のWeb標準)
圧縮アルゴリズムバイト単位のランレングス(RLE)圧縮非圧縮 / RLE特許フリーの LZW 圧縮Deflate LZ77 圧縮
カラーアーキテクチャEGA/VGA ビットプレーンおよびパレットDIB スキャンライン256 色インデックスカラートゥルーカラー 24/48 ビット + アルファ
パレットの位置ファイル末尾に追加(768 バイト)ファイルヘッダー付近ファイルヘッダー付近埋め込み PLTE チャンク

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

画像の色が完全に反転したり、サイケデリックなネガのように化けたりしてレンダリングされる。

根本原因: ファイル末尾にある 256 色 VGA パレットブロックの欠落または切り詰め。

復旧: デフォルトの VGA パレットを再適用するか、File2File.app PCX コンバーターを使用して PNG にトランスコードしてください。

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

PCX デコーダーは、ランレングス符号化されたバイトをスキャンラインに処理しますが、不正なランカウントによってヒープバッファオーバーフローが発生する可能性があります。

既知の攻撃ベクター

  • スキャンライン幅を超える RLE バイトのランレングスにより、バッファ境界を超えたメモリ書き込みが発生する。
  • ヘッダーで宣言されたプレーン数を超えてプレーンを読み取る際のバッファオーバーフロー。
  • 破損したパレットオフセット計算を介したサービス拒否(DoS)。

防御的ベストプラクティス: RLE解凍ループ中に、スキャンラインごとの厳格なピクセルバイト制限を適用します。

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

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

主なメリット

  • 豊かな歴史的意義:初期の IBM PC ゲームおよびシェアウェア革命の基盤となったフォーマット。
  • ハードウェア指向の平面型(プレーン)メモリレイアウトにより、EGA/VGA ビデオカードメモリへの直接コピーが可能。
  • 軽量な RLE 圧縮により、低色数のイラストや図面のファイルサイズを削減します。

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

  • 現在の多くのワークフローではPCXはあまり使われず、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パレットをファイルの末尾に追加しました。