ZSoft PCX (.pcx)
Технічний СтандартZSoft PC Paintbrush Bitmap (PCX) - це легендарний ранній формат комп'ютерної графіки для ПК, який став першим широко впровадженим стандартом растрових зображень для MS-DOS, сумісних з IBM PC комп'ютерів та класичних ігор для ПК.
Конвертувати з PCX у PNG
Безкоштовний конвертер з PCX у PNG у браузері. Миттєво конвертуйте файли на своєму пристрої.
Аналіз та метадані
Операційні системи та аналізатори файлів ідентифікують файли PCX, перевіряючи початкову послідовність бінарних байтів:
Сигнатура заголовка на байтовому рівні (Magic Bytes)
Операційні системи та аналізатори файлів ідентифікують файли PCX, перевіряючи початкову послідовність бінарних байтів:
ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):
0A 05 01ASCII-УЯВЛЕННЯ: ...
Стандартизація: Технічний довідковий посібник 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 (Поточний) | BMP | GIF | PNG |
|---|---|---|---|---|
| Активна епоха | 1985 - 1995 (золота доба MS-DOS) | 1990 - дотепер (стандарт Windows) | 1987 - дотепер (веб-стандарт) | 1996 - дотепер (сучасний веб-стандарт) |
| Алгоритм стиснення | Байт-запуск RLE стиснення | Нестиснене / RLE | LZW стиснення без патентів | Deflate LZ77 стиснення |
| Колірна архітектура | Бітплощини EGA/VGA та палітра | Рядки сканування DIB | Індексовані 256 кольорів | Truecolor 24/48-біт + Альфа |
| Розташування палітри | Додано в кінці файлу (EOF) (768 байтів) | Поблизу заголовка файлу | Поблизу заголовка файлу | Вбудований блок PLTE |
Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі
Кольори зображення відображаються повністю інвертованими або спотвореними, наче психоделічний негатив.
Першопричина: Відсутній або обрізаний блок 256-колірної палітри VGA в кінці файлу.
Відновлення: Повторно застосуйте стандартну палітру VGA або виконайте транскодування в PNG за допомогою конвертера PCX від File2File.
Аналіз безпеки та векторів атак на парсери
Декодери PCX обробляють байти з кодуванням довжини серій у рядки сканування, де пошкоджені лічильники прогонів можуть викликати переповнення буфера купи.
Відомі вектори атак
- Довжина серії байтів RLE перевищує ширину рядка сканування, що призводить до запису в пам'ять за межами буфера.
- Переповнення буфера під час читання площин, що перевищують кількість площин, оголошену в заголовку.
- Відмова в обслуговуванні через пошкоджені обчислення зміщення палітри.
Захисні найкращі практики: Застосовуйте суворі ліміти байтів пікселів на рядок сканування під час циклів декомпресії RLE.
Історичне походження та віхи
Головні переваги та плюси
- Багате історичне значення: базовий формат ранньої революції ігор та 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-колірними декодерами.