ZSoft PCX (.pcx)
ZSoft 标准ZSoft PC Paintbrush 位图(PCX)是早期著名的 PC 图形格式,曾成为 MS-DOS、IBM PC 兼容机和经典 PC 游戏中首个广泛采用的光栅图像标准。
将 PCX 转换为 PNG
免费的浏览器端 PCX 转 PNG 转换器。在您的设备上即时转换文件。
检查与元数据
操作系统和文件分析器通过检查开头的二进制字节序列来识别 PCX 文件:
字节级文件头签名 (魔数)
操作系统和文件分析器通过检查开头的二进制字节序列来识别 PCX 文件:
十六进制签名 (偏移量 0):
0A 05 01ASCII 表示形式: ...
标准化: 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 (当前) | BMP | GIF | PNG |
|---|---|---|---|---|
| 活跃年代 | 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 色解码器。