ZSoft PCX (.pcx)

ZSoft 标准

ZSoft PC Paintbrush 位图(PCX)是早期著名的 PC 图形格式,曾成为 MS-DOS、IBM PC 兼容机和经典 PC 游戏中首个广泛采用的光栅图像标准。

将 PCX 转换为 PNG

免费的浏览器端 PCX 转 PNG 转换器。在您的设备上即时转换文件。

检查与元数据

操作系统和文件分析器通过检查开头的二进制字节序列来识别 PCX 文件:

选择或将文件拖放到此处

隐私保护 - 文件不会离开您的设备

或粘贴 Ctrl+V
零网络传输隐私保证: 上传至外部服务器的数据为 0 字节。所有处理均在您的浏览器沙箱中本地完成。

字节级文件头签名 (魔数)

操作系统和文件分析器通过检查开头的二进制字节序列来识别 PCX 文件:

十六进制签名 (偏移量 0):

0A 05 01

ASCII 表示形式: ...

标准化: ZSoft PC Paintbrush 技术参考手册

技术规格

容器架构128 字节固定标头,后接 RLE 压缩扫描线和可选的 256 色调色板(位于文件末尾)
压缩方式以字节为单位的游程编码(RLE),使用 0xC0 计数指示位
字节序小端序(Intel x86)
色彩空间CGA 4 色、EGA 16 色或 VGA 256 色调色板 RGB
通道与结构1、2、4 或 8 位调色板,或 24 位 RGB 平面图像(3 个平面,每个 8 位)
最大尺寸65,535 x 65,535 像素(16 位坐标)
透明度无(不透明的旧式光栅格式)
流式传输与渐进式加载支持按扫描线顺序逐行播放

技术对比矩阵:PCX 对比同类产品

技术属性PCX (当前)BMPGIFPNG
活跃年代1985 - 1995 年(MS-DOS 黄金时代)1990 年至今(Windows 标准)1987 年至今(网页标准)1996 年至今(现代网页标准)
压缩算法字节级游程编码压缩未压缩 / RLE无需专利许可的 LZW 压缩Deflate LZ77 压缩
色彩架构EGA/VGA 位平面与调色板DIB 扫描行256 色索引色24/48 位 Alpha 真彩色
调色板位置附加在文件末尾(EOF,768 字节)靠近文件头靠近文件头嵌入的 PLTE 区块

常见损坏模式与十六进制恢复指南

图像颜色渲染完全颠倒或像迷幻负片一样混乱。

根本原因: 文件末尾缺少或截断了 256 色 VGA 调色板块。

恢复方法: 重新应用默认的 VGA 调色板,或使用 File2File.app PCX 转换器将其转码为 PNG。

安全分析与解析器攻击向量

PCX 解码器会将游程编码字节展开为扫描线;若游程计数格式错误,可能造成堆缓冲区溢出。

已知攻击向量

  • RLE 字节游程长度超过扫描线宽度,导致内存写入越过缓冲区边界。
  • 读取的平面数超过标头声明的数量时发生缓冲区溢出。
  • 调色板偏移计算损坏可导致拒绝服务。

防御性最佳实践: 在 RLE 解压循环中,严格限制每条扫描线可写入的像素字节数。

历史渊源与里程碑

1993id Software 发布 DOOM,并使用 PCX 格式保存标题画面、菜单和纹理素材。
1988PCX 修订版 5 增加了对 256 色 VGA 调色板的支持,调色板存储在文件末尾。
1985ZSoft 随 PC Paintbrush 一同推出 PCX,该软件与微软鼠标硬件捆绑销售。

核心优势与特点

  • 具有重要的历史意义:这是早期 IBM PC 游戏和共享软件热潮中的基础格式。
  • 面向硬件的平面内存布局可直接复制到 EGA/VGA 显卡内存中。
  • 轻量级 RLE 压缩可缩小低色彩图示和图表的文件体积。

技术局限与劣势

  • 格式已过时:几乎所有现代工作流都已转用 PNG 等现代光栅格式。
  • VGA 256 色调色板附加在文件末尾,必须读取整个文件才能解码颜色。
  • 对复杂摄影图像的压缩效率低下。

趣味技术冷知识

  • 每个 PCX 文件的第一个字节始终是 0x0A(十进制 10),代表 ZSoft 的内部制造商 ID。
  • 要检查 8 位 PCX 文件是否具有 256 色调色板,您需要从文件末尾向前查找 769 个字节并检查字节 0x0C(十进制 12)。
  • 包括《德军总部 3D》、《毁灭战士》和《毁灭公爵 3D》在内的经典 PC 游戏都以 PCX 格式存储了其宣传截图和菜单美术素材。

常见技术问题

什么程序创建了 .PCX 文件?

ZSoft PC Paintbrush,这是 20 世纪 80 年代 IBM PC 上第一个流行的图形程序,通常与微软鼠标捆绑在一起。

我可以将旧版 PCX 文件转换为 PNG 或 JPG 吗?

可以。File2File.app 可直接在浏览器中将旧 PCX 游戏纹理和美术素材转换为清晰的现代 PNG 或 JPG 图像。

为什么调色板在 PCX 文件的末尾?

1988 年推出 256 色 VGA 时,ZSoft 在文件末尾添加了 768 字节的 RGB 调色板,并在其前面放置标记 0x0C,以兼容旧版 16 色解码器。