ZSoft PCX (.pcx)

Техническо Стандарт

ZSoft PC Paintbrush Bitmap (PCX) е ранен графичен формат за персонални компютри, който се превръща в първия широко възприет растерен стандарт за MS-DOS, съвместимите с IBM PC компютри и класическите игри за PC.

Конвертиране от PCX към PNG

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

Проверка и метаданни

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

Изберете или пуснете файлове тук

Поверително - файловете никога не напускат устройството ви

или поставете Ctrl+V
Гаранция за поверителност с нулево мрежово предаване: 0 байта са качени на външни сървъри. Цялата обработка се извършва локално в пясъчниците на вашия браузър.

Байтов подпис на заглавката (сигнатурни байтове)

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

HEX ПОДПИС (ОФСЕТ 0):

0A 05 01

ASCII ПРЕДСТАВЯНЕ: ...

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

Технически спецификации

Контейнерна архитектураФиксирана заглавна част от 128 байта, последвана от RLE-компресирани редове за сканиране и евентуална 256-цветна палитра в края
КомпресияБайтово кодиране на дължини на серии (RLE) с битове за брояча 0xC0
Поредност на байтовете (Endianness)Ред от младшия към старшия байт (Little-Endian, Intel x86).
Цветови пространстваRGB с палитра CGA с 4 цвята, EGA с 16 цвята или VGA с 256 цвята
Канали и структураПалитра с 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 цвята24/48-битов пълноцветен режим + алфа
Местоположение на палитратаДобавена в края на файла (EOF, 768 байта)Близо до заглавната част на файлаБлизо до заглавната част на файлаВграден PLTE блок

Често срещани видове повреди и ръководство за възстановяване на шестнадесетични данни

Цветовете на изображението изглеждат напълно обърнати или изкривени като психеделичен негатив.

Първопричина: Липсващ или прекъснат блок с VGA палитрата от 256 цвята в края на файла.

Възстановяване: Възстановете стандартната VGA палитра или преобразувайте файла в PNG с File2File.app PCX Converter.

Анализ на сигурността и вектори на атака към парсера

PCX декодерите обработват байтове с кодиране на дължината на серията (RLE) в редове за сканиране. Неправилен брой байтове в серия може да доведе до препълване на буфера в динамичната памет.

Известни вектори на атака

  • Дължината на RLE серия надвишава ширината на реда за сканиране и причинява запис извън границите на буфера.
  • Препълване на буфера при четене на повече равнини от декларирания в заглавната част брой.
  • Отказ от услуга заради неправилно изчисляване на отместването на палитрата.

Най-добри практики за защита: При RLE декомпресията налагайте строги ограничения за броя байтове с пиксели във всеки ред за сканиране.

Исторически произход и етапи

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

Основни предимства

  • Богато историческо значение: основополагащ формат за ранната революция на игрите и споделянето на пробен софтуер за IBM PC.
  • Планарното разположение на паметта, съобразено с хардуера, позволява директно копиране във видеопаметта на EGA/VGA.
  • Леката RLE компресия намалява размера на файловете с илюстрации и диаграми с малко цветове.

Технически ограничения и минуси

  • PCX вече е рядкост в много съвременни работни процеси, където често се предпочитат PNG и други по-нови растерни формати.
  • VGA палитрата с 256 цвята се добавя в самия край на файла, затова за декодирането ѝ е необходимо файлът да се прочете изцяло.
  • Неефективно компресиране на сложни фотографски изображения.

Интересни технически факти

  • Първият байт на всеки PCX файл е 0x0A (десетично 10) - вътрешният идентификатор на производителя ZSoft.
  • За да проверите дали 8-битов PCX файл има 256-цветна палитра, преминете 769 байта от края на файла и проверете дали следващият байт е 0x0C (десетично 12).
  • Класически компютърни игри, включително Wolfenstein 3D, DOOM и Duke Nukem 3D, съхраняваха своите промоционални екранни снимки и графика на менютата във формат PCX.

Често задавани технически въпроси

Коя програма е създала .PCX файловете?

ZSoft PC Paintbrush - първата популярна графична програма за IBM PC през 80-те години, която често се разпространява в комплект с мишки Microsoft.

Можете ли да конвертирате стар PCX файл в PNG или JPG?

Да. File2File.app може да конвертира старите игрови текстури и графики във формат PCX в ясни съвременни изображения PNG или JPG направо в браузъра ви.

Защо цветовата палитра е в края на PCX файла?

Когато през 1988 г. е въведен VGA режимът с 256 цвята, ZSoft добавя 768-байтовата RGB палитра в края на файла, предшествана от маркера 0x0C, за да запази обратната съвместимост с по-старите декодери за 16 цвята.