ZSoft PCX (.pcx)

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

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

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

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

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

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

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

100% приватна конвертація у браузері - файли ніколи не покидають ваш пристрій

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

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

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

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

0A 05 01

ASCII-УЯВЛЕННЯ: ...

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

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

Архітектура контейнераФіксований заголовок розміром 128 байтів, за яким слідують рядки сканування зі стисненням RLE та додаткова палітра на 256 кольорів у кінці
СтисненняБагатобайтове кодування довжин серій (RLE) з індикаторними бітами кількості 0xC0
Порядок байтів (Endianness)Зворотний порядок байтів (Intel x86)
Колірні просториCGA 4-колірна, EGA 16-колірна або VGA 256-колірна палітра RGB
Канали та структура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 стисненняНестиснене / RLELZW стиснення без патентівDeflate LZ77 стиснення
Колірна архітектураБітплощини EGA/VGA та палітраРядки сканування DIBІндексовані 256 кольорівTruecolor 24/48-біт + Альфа
Розташування палітриДодано в кінці файлу (EOF) (768 байтів)Поблизу заголовка файлуПоблизу заголовка файлуВбудований блок PLTE

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

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

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

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

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

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

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

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

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

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

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

Головні переваги та плюси

  • Багате історичне значення: базовий формат ранньої революції ігор та shareware для 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-колірними декодерами.