ZSoft PCX (.pcx)
ZSoft 标准ZSoft PC Paintbrush 位图 (PCX) 是早期传奇的 PC 图形格式,成为 MS-DOS、IBM PC 兼容机和经典 PC 游戏首个广泛采用的栅格图像标准。
将 PCX 转换为 PNG
免费的浏览器端 PCX 转 PNG 转换器。在您的设备上即时转换文件。
检查与元数据
操作系统和文件分析器通过检查开头的二进制字节序列来识别 PCX 文件:
字节级文件头签名 (Magic Bytes)
操作系统和文件分析器通过检查开头的二进制字节序列来识别 PCX 文件:
十六进制签名 (偏移量 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 - 至今 (网页标准) | 1996 - 至今 (现代网页标准) |
| 压缩算法 | 字节运行 RLE 压缩 | 未压缩 / RLE | 免专利的 LZW 压缩 | Deflate LZ77 压缩 |
| 色彩架构 | EGA/VGA 位平面和调色板 | DIB 扫描行 | 索引 256 色 | 真彩色 24/48 位 + Alpha |
| 调色板位置 | 附加在文件末尾 (EOF,768 字节) | 靠近文件头 | 靠近文件头 | 嵌入的 PLTE 块 |
常见损坏模式与十六进制恢复指南
图像颜色渲染完全颠倒或像迷幻负片一样混乱。
根本原因: 文件末尾缺少或截断了 256 色 VGA 调色板块。
恢复方法: 重新应用默认的 VGA 调色板,或使用 File2File PCX 转换器将其转码为 PNG。
安全分析与解析器攻击向量
PCX 解码器将运行长度编码的字节处理成扫描行,其中格式错误的运行计数可能会导致堆缓冲区溢出。
已知攻击向量
- RLE 字节运行长度超过扫描行宽度,导致内存写入超出缓冲区边界。
- 当读取超过标头声明的平面计数的平面时发生缓冲区溢出。
- 通过损坏的调色板偏移计算导致拒绝服务。
防御性最佳实践:
历史渊源与里程碑
核心优势与特点
- 丰富的历史意义:早期 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 文件的末尾?
当 256 色 VGA 在 1988 年推出时,ZSoft 在文件末尾附加了 768 字节的 RGB 调色板,并在前面加上标记 0x0C,以保持与旧版 16 色解码器的向后兼容性。