PCX

Материал из Old-Games.RU Wiki
Перейти к: навигация, поиск

PCX (Personal Computer eXchange) - формат растровых изображений, разработанный в 1980-х годах компанией «ZSoft» для своего графического редактора «PC Paintbrush» исключительно под платформу IBM PC. Благодаря «PC Paintbrush» формат приобрел некоторую популярность в середине 1980-х - начале 1990-х годов, когда его стало использовать множество графических пакетов тех лет. Выгодным свойством формата было то, что он использует индексированные цвета (палитру) и простейший алгоритм сжатия без потерь (RLE), поэтому по сравнению с BMP изображения занимали мало места. Со временем PCX был вытеснен более совершенными форматами - GIF, JPEG, PNG.

Структура файла

Файл состоит из трех частей - заголовка (128 байт), изображения и 256-цветной палитры (необязательно). В заголовок входит информация о размерах изображения, версии файла, типа сжатия, глубине цвета, палитре (если это не VGA или XGA) и так далее. Заголовок используется не полностью — из 128 байт последних 54 байта остаются незаполненными. Далее идет изображение, сжатое алгоритмом RLE. Если версия файла равна пяти, то после изображения можно найти метку палитры (1 байт, 0x0C) и саму палитру VGA длиной 768 байт.

Идентифицировать PCX можно по характерному 128-байтому заголовку. Первый байт заголовка, отвечающий за имя производителя, всегда равен 0x0A (ZSoft), а в конце всегда будет 54 байта, состоящих из нулей.

Сопутствующие форматы

PCC

Ранние версии PCX допускали сохранение файлов в виде вырезок областей из оригинального файла в формате PCC. В такой файл заносилась информация о расположении вырезанной области относительно оригинального изображения (данные сведения предусмотрены заголовком PCX). Однако более новые версии PC Paintbrush стали уже сохранять в PCX, сохраняя, тем не менее, информацию о расположении.

DCX

Популярность формата PCX привела к тому, что факсовые программы тех лет использовали PCX для сохранения факсовых сообщений. Однако ограничения формата не допускали сохранять многостраничные факсы в различных слоях изображения (как это реализовано, например, в TIFF). Чтобы обойти эту проблему, был разработан DCX, который мог содержать в себе до 1023 PCX-изображений. Недостатком этого формата было то, что являясь по сути контейнером для файлов, DCX не сохранял оригинальные имена файлов, то есть доступ мог быть только по индексу. Возможно, поэтому этот формат не получил большого распространения вне факсовых приложений.