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) |
| Цветовые пространства | Палитровый RGB: 4 цвета CGA, 16 цветов EGA или 256 цветов VGA |
| Каналы и структура | Палитровые режимы с глубиной 1, 2, 4 или 8 бит либо планарный RGB с глубиной 24 бита (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.app.
Анализ безопасности и векторы атак на парсер
Декодеры 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 добавила в конец файла палитру RGB размером 768 байт, предварив ее маркером 0x0C для сохранения обратной совместимости со старыми 16-цветными декодерами.
Связанные конвертации для PCX
Распакуйте устаревшую растровую графику и пиксель-арт ZSoft PCX в современный формат PNG без потерь.
Отправьте скан PCX или растровое изображение PCX в виде одностраничного PDF-файла. Закодированные строки сканирования преобразуются в фиксированное изображение, поэтому палитра и детали редактирования PCX сохраняются вместе с исходным файлом.