ZSoft PCX (.pcx)

ZSoft Стандарт

ZSoft PC Paintbrush Bitmap (PCX): это легендарный ранний формат ПК-графики, который стал первым широко распространенным стандартом растровых изображений для MS-DOS, IBM PC-совместимых компьютеров и классических компьютерных игр.

Конвертировать из PCX в PNG

Бесплатный конвертер из PCX в PNG прямо в браузере. Конвертируйте файлы мгновенно на Вашем устройстве.

Анализ и метаданные

Операционные системы и анализаторы файлов идентифицируют файлы PCX по начальной двоичной последовательности байтов:

Выберите или перетащите файлы сюда

Конфиденциально - файлы никогда не покидают ваше устройство

или вставьте Ctrl+V
Гарантия конфиденциальности без передачи по сети: 0 байт загружено на внешние серверы. Вся обработка выполнялась локально в песочнице Вашего браузера.

Сигнатура заголовка на уровне байтов (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 (Текущий)BMPGIFPNG
Период активности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.

История происхождения и ключевые этапы

1993Компания id Software выпускает DOOM, используя формат PCX для титульных экранов, меню и графики текстур.
1988В PCX Revision 5 добавлена поддержка 256-цветных палитр VGA, сохраняемых в конце файла.
1985Компания ZSoft представляет PCX вместе с редактором PC Paintbrush, поставлявшимся в комплекте с аппаратными средствами мыши Microsoft.

Ключевые преимущества и плюсы

  • Богатое историческое значение: базовый формат ранней эпохи игр для 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-цветными декодерами.