ZSoft PCX (.pcx)
ZSoft СтандартZSoft PC Paintbrush Bitmap (PCX) - это легендарный ранний формат ПК-графики, который стал первым широко распространенным стандартом растровых изображений для MS-DOS, IBM PC-совместимых компьютеров и классических компьютерных игр.
Конвертировать из PCX в PNG
Бесплатный конвертер из PCX в PNG прямо в браузере. Конвертируйте файлы мгновенно на вашем устройстве.
Анализ и метаданные
Операционные системы и анализаторы файлов идентифицируют файлы PCX по начальной двоичной последовательности байтов:
Сигнатура заголовка на уровне байтов (Magic Bytes)
Операционные системы и анализаторы файлов идентифицируют файлы PCX по начальной двоичной последовательности байтов:
HEX-СИГНАТУРА (СМЕЩЕНИЕ 0):
0A 05 01ПРЕДСТАВЛЕНИЕ ASCII: ...
Стандартизация: ZSoft PC Paintbrush Technical Reference Manual
Технические спецификации
| Архитектура контейнера | Фиксированный заголовок размером 128 байт, за которым следуют строки развертки с RLE-сжатием и необязательная палитра из 256 цветов в конце |
| Сжатие | Побайтное кодирование длин серий (RLE) с битами индикатора счетчика 0xC0 |
| Порядок байтов (Endianness) | Обратный порядок байтов (Intel x86) |
| Цветовые пространства | 4-цветная CGA, 16-цветная EGA или 256-цветная палитра VGA 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-сжатие | Без сжатия / RLE | Сжатие LZW без патентов | Сжатие Deflate LZ77 |
| Цветовая архитектура | Битовые плоскости EGA/VGA и палитра | Строки развертки DIB | Индексированные 256 цветов | Полноцветный 24/48-битный + альфа |
| Расположение палитры | Добавлено в конец файла (EOF) (768 байт) | Рядом с заголовком файла | Рядом с заголовком файла | Встроенный блок PLTE |
Типичные режимы повреждения и руководство по восстановлению в HEX
Цвета изображения отображаются полностью инвертированными или искаженными, напоминая психоделический негатив.
Первопричина: Отсутствующий или обрезанный блок 256-цветной палитры VGA в конце файла.
Восстановление: Повторно примените стандартную палитру VGA или выполните перекодирование в PNG с помощью конвертера PCX от File2File.
Анализ безопасности и векторы атак на парсер
Декодеры PCX обрабатывают закодированные с помощью длин серий байты в строки развертки, где поврежденные счетчики серий могут вызвать переполнение буфера в куче.
Известные векторы атак
- Длина цепочки байтов RLE превышает ширину строки развертки, что приводит к записи памяти за пределами границ буфера.
- Переполнение буфера при чтении плоскостей сверх количества плоскостей, заявленного в заголовке.
- Отказ в обслуживании из-за поврежденных расчетов смещения палитры.
Защитные лучшие практики: Обеспечивайте строгие ограничения байтов пикселей на строку развертки во время циклов распаковки RLE.
Исторические истоки и вехи
Ключевые преимущества и плюсы
- Богатое историческое значение: базовый формат ранней эпохи игр для IBM PC и революции условно-бесплатного ПО.
- Ориентированная на аппаратное обеспечение планарная структура памяти позволяет напрямую копировать данные в память видеокарт EGA/VGA.
- Легковесное RLE-сжатие уменьшает размеры файлов иллюстраций и диаграмм с низким количеством цветов.
Технические ограничения и минусы
- Устаревание: практически все современные рабочие процессы перешли на PNG и современные растровые форматы.
- 256-цветная палитра VGA добавляется в самый конец файла, что требует чтения всего файла целиком для декодирования цветов.
- Неэффективное сжатие сложных фотографических изображений.
Интересные технические факты
- Первый байт каждого файла PCX всегда равен 0x0A (10 в десятичной системе), что представляет собой внутренний идентификатор производителя ZSoft.
- Чтобы проверить, содержит ли 8-битный файл PCX 256-цветную палитру, нужно сместиться на 769 байт от конца файла и найти байт 0x0C (12 в десятичной системе).
- В классических компьютерных играх, включая Wolfenstein 3D, DOOM и Duke Nukem 3D, рекламные скриншоты и графика меню хранились в формате PCX.
Часто задаваемые технические вопросы
Какая программа создавала файлы .PCX?
ZSoft PC Paintbrush, первая популярная графическая программа для IBM PC в 1980-х годах, которая часто поставлялась в комплекте с мышами Microsoft.
Могу ли я конвертировать старый файл PCX в PNG или JPG?
Да. File2File.app может конвертировать исторические игровые текстуры и графику PCX в четкие современные изображения PNG или JPG прямо в вашем браузере.
Почему палитра цветов находится в конце файла PCX?
Когда в 1988 году появился 256-цветный формат VGA, компания ZSoft добавила 768-байтную палитру RGB в конец файла перед маркером 0x0C для сохранения обратной совместимости со старыми 16-цветными декодерами.