ZSoft PCX (.pcx)

Технічний Стандарт

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

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

Безкоштовний конвертер з PCX у PNG у браузері. Миттєво конвертуйте файли на своєму пристрої.

Аналіз та метадані

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

Виберіть або перетягніть файли сюди

Приватно - файли ніколи не залишають ваш пристрій

або вставте Ctrl+V
Гарантія конфіденційності без передавання даних мережею: Жодного байта не передано на зовнішні сервери. Уся обробка відбувалася локально в ізольованому середовищі браузера.

Сигнатура заголовка на байтовому рівні (Magic Bytes)

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

ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):

0A 05 01

ПОДАННЯ В ASCII: ...

Стандартизація: Технічний довідковий посібник ZSoft PC Paintbrush

Технічні характеристики

Архітектура контейнераФіксований заголовок розміром 128 байтів, за яким слідують рядки сканування зі стисненням RLE та додаткова палітра на 256 кольорів у кінці
СтисненняПобайтове кодування довжин серій (RLE) з індикаторними бітами кількості 0xC0
Порядок байтів (Endianness)Порядок байтів від молодшого до старшого (Little-Endian; Intel x86)
Колірні просториПалітра RGB на 4 кольори CGA, 16 кольорів EGA або 256 кольорів VGA
Канали та структура1-, 2-, 4- або 8-бітний формат із палітрою або 24-бітний планарний формат RGB (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

Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі

Кольори зображення відображаються повністю інвертованими або спотвореними, наче психоделічний негатив.

Першопричина: Відсутній або обрізаний блок 256-колірної палітри VGA в кінці файлу.

Відновлення: Повторно застосуйте стандартну палітру VGA або виконайте транскодування в PNG за допомогою конвертера PCX від File2File.app.

Аналіз безпеки та векторів атак на парсери

Декодери PCX перетворюють байти, стиснені кодуванням довжин серій, на рядки зображення. Пошкоджені лічильники серій можуть призвести до переповнення буфера в динамічній пам’яті.

Відомі вектори атак

  • Довжина серії байтів RLE перевищує ширину рядка зображення, що призводить до запису за межі буфера.
  • Переповнення буфера під час читання площин, що перевищують кількість площин, оголошену в заголовку.
  • Відмова в обслуговуванні через пошкоджені обчислення зміщення палітри.

Рекомендації щодо захисту: Застосовуйте суворі ліміти байтів пікселів на рядок сканування під час циклів декомпресії RLE.

Історичне походження та віхи

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

Основні переваги

  • Багате історичне значення: базовий формат ранньої революції ігор та shareware для IBM PC.
  • Планарне компонування пам'яті, орієнтоване на апаратне забезпечення, дає змогу копіювати в пам'ять відеокарт EGA/VGA.
  • Легке стиснення RLE зменшує розмір файлів низькоколірних ілюстрацій та діаграм.

Технічні обмеження та недоліки

  • PCX нині рідко використовують у багатьох процесах, де зазвичай надають перевагу 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-колірними декодерами.