Какой программой открыть файл pcx. Расширение файла PCX. Битовое RLE – сжатие

На этой странице объясняется, как Вы можете с легкостью конвертировать a .pcx файл в PDF файл с помощью бесплатного и простого в использовании PDF24 Creator. Описанный способ конвертации является бесплатным и простым. PDF24 Creator устанавливает PDF принтер, и Вы можете распечатать Ваш.pcx файл на данном принтере, чтобы конвертировать файл в PDF.

Что необходимо для конвертации PCX файла в PDF файл или как можно создать PDF версию Вашего PCX файла

Файлы типа PCX или файлы с расширением.pcx можно легко конвертировать в PDF с помощью PDF принтера.

PDF принтер представляет собой виртуальный принтер, который можно использовать так же, как любой другой принтер. Отличием от обычного принтера является то, что PDF принтер создает PDF файлы. Вы не печатаете на физическом листе бумаги. Принтер PDF печатает содержимое исходного файла в PDF файл.

Таким образом, Вы можете создать PDF версию любого файла, который можно распечатать. Просто откройте файл с помощью ридера, нажмите кнопку печати, выберите виртуальный PDF принтер и нажмите кнопку «Печать». Если у Вас есть устройство для чтения файла PCX и если ридер может распечатать файл, то Вы можете преобразовать файл в формат PDF.

Бесплатный и простой в использовании PDF принтер от PDF24 можно загрузить с этой страницы. Просто нажмите на кнопку загрузки справа от этой статьи, чтобы загрузить PDF24 Creator. Установите это программное обеспечение. После установки Вы будете иметь новое печатающее устройство, зарегистрированное в Windows, которое можно использовать для создания PDF файлов из Вашего.pcx файла или конвертации любого другого файла с возможностью печати в формат PDF.

Вот как это работает:

  1. Установите PDF24 Creator
  2. Откройте.pcx файл с помощью ридера, который может открыть файл.
  3. Распечатайте файл на виртуальном PDF24 PDF принтере.
  4. Помощник PDF24 открывает окно, в котором Вы можете сохранять новый файл как PDF, отправлять по его email, факсу или редактировать.

Альтернативный способ того, как преобразовать PCX файл в PDF файл

PDF24 предоставляет несколько онлайн инструментов, которые могут быть использованы для создания PDF файлов. Поддерживаемые типы файлов добавляются по мере поступления и, возможно, формат файла PCX также уже поддерживается. Служба конвертации имеет различные интерфейсы. Два из них являются следующими:

Онлайн PDF Конвертер от PDF24 поддерживает множество файлов, которые могут быть преобразованы в PDF. Просто выберите файл PCX, из которого Вы хотели бы получить PDF версию, нажмите кнопку «конвертировать», и Вы получите PDF версию файла.

Существует также E-Mail PDF Конвертер от PDF24, который также может быть использован для преобразования файлов в формат PDF. Просто отправьте по электронной почте сообщение в службу E-Mail PDF Конвертера, прикрепите PCX файл к этому письму, и через несколько секунд Вы получите PDF файл обратно.

Графический формат PCX

В индустрии компьютерной графики существует так много стандартов, что само слово «стандарт» уже потеряло свой первоначальный смысл. Сегодня существует несколько наиболее известных стандартов: PCX, GIF, RGB, TGA, TIF и многие другие. Нам интересен формат PCX потому, что сегодня он является самым распространенным.

Файл в формате PCX представляет собой закодированное представление изображения. Кодирование необходимо для уменьшения размера файла, поскольку только один образ 320х200 пикселей уже займет 64К памяти. Рисованные объекты обладают большой цветовой избыточностью, и это обстоятельство используется для сжатия изображения.

Примечание

Отсканированные фотографии, как правило, содержат большое количество цветов, более ли менее равномерно распределенных по всему изображению. Таким образом, фотографические изображения с трудом поддаются сжатию. Однако, поскольку большинство картинок в компьютерных играх выполняется вручную, мы можем не особенно ломать голову над проблемами, возникающими при работе с оцифрованными фотографиями.

Давайте посмотрим на рисунок 5.5 (файл CH29\WARINTR2.PCX на дискете). Это копия экрана из игры Warlock. Как вы можете заметить, там не слишком много цветов. Более того, на нем присутствует множество больших, одинаково окрашенных областей.

Как правило, в экранных изображениях используется лишь ограниченное число цветов. Так почему бы не подсчитать количество пикселей одинакового цвета и не сохранить их как целые группы, вместе с позицией и цветом. Это можно сделать. В общем, подобная технология, правда, в несколько усовершен-ствованном виде, и применена в PCX-формате. Для сжатия информации этот формат использует так называемое RLE-кодирование. При этом изображение обрабатывается построчно без учета расположения пикселей по вертикали.

Посмотрите на рисунок 5.6. Преобразование экранного файла в PCX-формат происходит следующим образом; просматривается очередная строка изображения, и если это возможно, сжимается. Сжатие выполняется в том случае, если найдена последовательность пикселей одинакового цвета. При этом сохраняется количество повторений пикселей и значение их цвета. Повторяется это до тех пор, пока все изображение не окажется сжатым.

Такая методика неплохо работает для большинства изображений, но в некоторых случаях может не срабатывать, например, когда изображение имеет слишком мало одинаковых участков. В этом случае размер файла, напротив, увеличится, так как для записи одиночных пикселей требуется не один, а два байта.

Файл формата PCX состоит из трех секций:

    Первая секция PCX-файла длиной 128 байт содержит различную служеб-ную информацию;

    Вторая секция - это данные сжатого образа, которые могут оказаться любой длины;

    Третья секция размером в 768 байт содержит цветовую палитру, если она есть. В нашем случае она будет присутствовать, поскольку мы используем 256-цветный режим 13h. Эти 768 байт хранят значения RGB от 0 до 255.

Суммируя вышесказанное, можно нарисовать структуру PCX-файла (рис. 5.7).

Получение информации из заголовка несложно: достаточно прочитать первые 128 байт и отформатировать их в соответствии со структурой, представленной в Листинге 5-9.

Листинг 5.9. Структура заголовка PCX-файла.

typedef struct pcx_header_typ

char manufacturer; // всегда 10

char version; // 0 - версия 2.5 Paintbrush

// 2 - версия 2.8 с палитрой

// 3 - версия 2.8 без палитры

// 5 - версия 3.0 или старше

char encoding; // всегда 1 - RLE кодирование

char bits_per_pixel; // количество бит на пиксель

// для нашего случая – 8

int x,y; // координаты верхнего левого угла изображения

int width,height; // размеры изображения

int horz_res; // количество пикселей по горизонтали

int vert_res; // количество пикселей по вертикали

char ega_palette; // EGA-палитра. Ее можно игнорировать,

char reserved; // ничего значимого

char num_color_planes; // количество цветовых плоскостей

//в изображении

int bytes_per_line; // количество байт на одну строку

int palette_type; // не беспокойтесь об этом

} pcx_header, *pcx_header_ptr;

Последнюю часть PCX-файла также довольно легко обработать:

    Необходимо установить указатель на конец файла;

    Передвинуться вверх на 768 байт;

Конечно, я упустил кое-какие детали обработки PCX-файла, но сделал это лишь для того, чтобы лучше передать смысл производимых действий. Сейчас же нас больше должен занимать способ декодирования средней части, где находится само изображение. Именно отсюда начинаются сложности, поскольку процедура декомпрессии не очень проста и очевидна.

    Если код прочитанного байта принадлежит множеству 192..255, то мы вычитаем из него 192 и используем полученный результат, как количество повторений следующего байта;

    Если код прочитанного байта лежит в диапазоне от 0 до 191, то мы используем его как байт данных, то есть помещаем его в битовую карту без изменений.

Если вы достаточно внимательны, то можете спросить: «А как же быть с пикселями, имеющими значения от 192 до 255? Интерпретируются ли они как RLE-цепочки?» Да, и гениальное решение этого вопроса состоит в том, что такие значения кодируются не одним, а двумя байтами. Например, если требуется поместить в файл значение 200, то сначала нужно записать число 193 (192-1) как количество повторений, а потом - 200. Посмотрим на рисунок 5.8, чтобы увидеть пример декомпрессии.

Теперь настало время написать программу, реализующую чтение файл формата PCX. Она получилась весьма неплохой. Листинг 5.10 даст вам возможность убедиться в этом самостоятельно.

Листинг 5.10. Программа чтения файла формата PCX.

// размеры экрана

#define SCREEN_WIDTH 320

#define SCREEN_HEIGHT 200

// структура для хранения данных PCX файла

typedef struct pcx_picture_typ

pcx_header header; // заголовок файла (длина 128 байт)

RGB_color palette; // палитра

char far *buffer; // буфер для размещения изображения

// после декомпрессии

} pcx_picture, *pcx_picture_ptr;

void PCX Load(char *filename,

pcx_picture_ptr image,int enable_palette)

// функция загружает данные из PCX-файла в структуру pcx picture

// после декомпрессии байты изображения помещаются в буфер.

// Отдельные элементы изображения выделяются позднее. Также

// загружается палитра и заголовок

int num_bytes,index;

unsigned char data;

char far *temp_buffer;

// открыть файл

fp = fopen(filename,"rb");

// загрузить заголовок

temp_buffer = (char far*)image;

for (index=0; index

temp_buffer = getc(fp);

} // конец цикла for

// загрузить данные и декодировать их в буфере

while (count<=SCREEN_WIDTH * SCREEN_HEIGHT}

// получить первую часть данных

data = getc(fp);

if (data>=192 &&data<=255)

// подсчитываем, сколько байт сжато

num_bytes = data-192;

//читаем байт цвета

data = getc(fp);

// повторяем байты в буфере num_bytes раз

while(num_bytes-->0)

image->buffer = data;

} // конец цикла while

} // конец оператора if

// помещаем данные в следующую позицию буфера

image->buffer = data;

} // конец оператора else

} // конец чтения байт изображения

// перейти в позицию, не доходя 768 байт от конца файла

fseek(fp,-768L,SEEK_END);

// читаем палитру и загружаем ее в регистры VGA

for (index=0; index<256; index++)

// красная составляющая

image->palette.red = (getc(fp) >> 2);

// зеленая составляющая

image->palette.green = (getc(fp) >> 2);

// синяя составляющая

image->palette.blue = (getc(fp) >> 2);

} // конец цикла for

// если флаг enable_palette установлен, меняем палитру

// на загруженную из файла

if (enable_palette)

for (index=0; index<256; index++)

Set_Palette_Register(index,

(RGB_color_ptr)&image->palette);

} // конец цикла for

} // конец установки новой палитры

} // конец функции

Функция PCX_Load() - это сердце всей программы. Она загружает PCX-файл, декодирует его в буфере и загружает палитру. Каждый PCX-файл имеет свою собственную палитру в конце файла и я думаю, что вы сами можете добавить возможность загрузки повой палитры в таблицу соответствия цветов.

Функция выполняет именно те действия, которые мы с вами уже обсуждали и ничего больше:

    Открывает PCX-файл;

    Читает заголовок;

    Загружает PCX-файл и декомпрессирует все 64000 пикселей;

    Загружает цветовую палитру.

В общем, все это несложно. А вот что делать с картинками, которые больше, чем целый экран? Ответ прост: можно декодировать только маленький кусочек, скажем 24 на 24 пикселя.

Я создал для вас заготовку CHARPLATE.PCX, которую вы найдете на прилагаемом диске. Если вы посмотрите на него, то увидите множество маленьких белых квадратов. Вы можете использовать этот шаблон для рисования ваших игровых персонажей в этих квадратиках.

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

Возникает вопрос: «Как редактировать PCX-файлы в режиме 320х200х 256?» Для этого можно воспользоваться такими условно-бесплатными программами как VGA-Paint или Pro-Paint. Тем не менее, я надеюсь, что самые расторопные читатели уже давно пользуются копией Electronic Art"s Deluxe Paint & Animation. Это одна из самых классных программ для рисования на ПК. Она корректно работает с режимом 320х200х256 и имеет множество полезных функций для преобразования и анимации изображения.

Побитовое копирование изображения (бит-блиттинг)

Термин бит-блиттинг (bit blitting) - означает процесс перемещения группы битов (образа) из одного места экрана в другое. В играх для ПК нас интересует перемещение образа из области хранения вне экрана в область видеобуфера. Давайте посмотрим на рисунок 5.9, чтобы уяснить сущность этой операции.

Как вы можете видеть, матрица пикселей обычно копируется один к одному из исходной области хранения в область буфера экрана. Кроме того, еще встречаются ситуации, когда что-то из видеобуфера копируется в память для дальнейшего использования.

Чтобы понять суть перемещения, нам следовало бы написать несколько функций, которые бы брали битовую карту из PCX-файла и перемещали ее на экран. Но я хочу проявить некоторую «авторскую вольность» и поговорить о спрайтах и их анимации.

Спрайты

Вы можете спросить: «Что такое спрайт?». Знаете, есть такой газированный напиток... Снова шучу. На самом деле спрайты - это такие маленькие объектики, которые находятся на игровом поле и могут двигаться. Этот термин прижился с легкой руки программистов фирмы Atari и Apple в середине, 70-х годов. Теперь поговорим о спрайтах и их анимации. В будущем мы еще вернемся к этой теме в седьмой главе, «Продвинутая битовая графика и специальные эффекты. Именно с этой мыслью я создал несколько небольших спрайтов, которые мы будем использовать в дальнейшем.

Спрайты - это персонажи в играх для ПК, которые могут без труда перемещаться по экрану, изменять цвет и размер. Все это звучит как мечта программиста. Но надо помнить, что в IBM-совместимых компьютерах нет спрайтов! В нормальных компьютерах существует аппаратная поддержка спрайтов. Такие машины как Atari, Amiga, Commodore и последние модели Apple имеют эту возможность, а вот ПК - нет. Поэтому мы вынуждены делать это самостоятельно.

М-да. Нам будет чем заняться.

Конечно, мы не станем заниматься разработкой аппаратной поддержки спрайтов. Все, что нам нужно, это понять, каким образом помещать образ на экран, сохраняя при этом возможность его перемещений и видоизменений. Поскольку спрайт - это довольно сложный объект, то стоит подумать о том, как это реализовать на программном уровне. Мы вовремя об этом заговорили:. вспомните разработку игры «Астероиды».

Вот что нам надо:

    Мы должны уметь извлекать матрицу пикселей из загруженного РСХ-образа и сохранять ее в буфере, связанном со спрайтом;

    Более того, хотелось бы считывать сразу несколько образов из PCX-файла и загружать их в массив, связанный с одним спрайтом. Это позволит нам оптимизировать программу по скорости выполнения.

Рисунок 5.10 показывает последовательность кадров, которые приводят в движение ковбоя. Мы воспользуемся ею позже.

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

Давайте на этом Месте остановимся и поговорим чуть-чуть об анимации. В играх для ПК применяется два способа обновления экрана:

    Мы можем перерисовывать весь экран целиком, как это сделано; в игре Wolfenstein 3D;

    Можно перерисовывать лишь участки экрана.

Какой из способов лучше выбрать, зависит от типа игры. Если мы перери-совываем весь экран, то это нужно делать по возможности быстро, поскольку 64000 пикселей - все же довольно много. Если мы перерисовываем только участки экрана, то желательно быть уверенным, что фон после прохождения спрайта не изменится. Поскольку все игры для ПК отличаются друг от друга, то для решения конкретных специфических задач всегда надо выбирать наиболее подходящую технику.

Давайте рассмотрим способ, которым мы будем пользоваться в настоящей главе - это перерисовка участков экрана. Посмотрите на рисунок 5.11, чтобы представить последовательность событий, позволяющих спрайту правильно перемещаться по экрану.

играл решающую роль в... креста" Андрэ Фурне, ... секрет - секрет программирование , а попросту... Сверхвозможности человека". ОГЛАВЛЕНИЕ ПРЕДИСЛОВИЕ В... Цель Лайя -Йоги...

  • Документ

    Навязчивая мысль, мотив ла" , "лау" , ... "игра" и в первую очередь - "игра ... Дочери креста" Андрэ Фурне, ... другой секрет - секрет бессмертия... женщине нейролингвистическое программирование , а попросту... судить по оглавлению , состоящему...

  • " загадочные сверхвозможности человека" предисловие

    Документ

    Навязчивая мысль, мотив , образ (непроизвольная... словами ("ла" , "лау" , ... "игра" и в первую очередь - "игра ... Дочери креста" Андрэ Фурне, ... другой секрет - секрет бессмертия... женщине нейролингвистическое программирование , а попросту... судить по оглавлению , состоящему...

  • Виктор михайлович кандыба загадочные сверхвозможности человека аннотация загадочные сверхвозможности человека

    Документ

    Навязчивая мысль, мотив , образ (непроизвольная... словами ("ла" , "лау" , ... "игра" и в первую очередь – "игра ... Дочери креста" Андрэ Фурне, ... другой секрет секрет бессмертия... женщине нейролингвистическое программирование , а попросту... судить по оглавлению , состоящему...

  • Самой частой причиной проблем с раскрытием файла PCX является просто отсутствие соответствующих приложений, установленных на Вашем компьютере. В таком случае достаточно найти, скачать и установить приложение, обслуживающее файлы в формате PCX - такие программы доступны ниже.

    Поисковая система

    Введите расширение файла

    Помощь

    Подсказка

    Необходимо учесть, что некоторые закодированные данные из файлов, которые наш компьютер не читает, иногда можно просмотреть в Блокноте. Таким образом мы прочитаем фрагменты текста или числа - Стоит проверить, действует ли этот метод также в случае файлов PCX.

    Что сделать, если приложение со списка уже было установлено?

    Часто установленное приложение должно автоматически связаться с файлом PCX. Если это не произошло, то файл PCX успешно можно связать вручную с ново установленным приложением. Достаточно нажать правой кнопкой мышки на файл PCX, а затем среди доступных выбрать опцию "Выбрать программу по умолчанию". Затем необходимо выбрать опцию "Просмотреть" и отыскать избранное приложение. Введенные изменения необходимо утвердить с помощью опции "OK".

    Программы, открывающие файл PCX

    Windows
    Mac OS
    Linux

    Почему я не могу открыть файл PCX?

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

    Несоответственные связи файла PCX в записях реестра
    - повреждение файла PCX, который мы открываем
    - инфицирование файла PCX (вирусы)
    - слишком маленький ресурс компьютера
    - неактуальные драйверы
    - устранение расширения PCX из реестра системы Windows
    - незавершенная установка программы, обслуживающей расширение PCX

    Устранение этих проблем должно привести к свободному открытию и работе с файлами PCX. В случае, если компьютер по-прежнему имеет проблемы с файлами, необходимо воспользоваться помощью эксперта, который установит точную причину.

    Мой компьютер не показывает расширений файлов, что сделать?

    В стандартных установках системы Windows пользователь компьютера не видит расширения файлов PCX. Это успешно можно изменить в настройках. Достаточно войти в "Панель управления" и выбрать "Вид и персонализация". Затем необходимо войти в "Опции папок", и открыть "Вид". В закладке "Вид" находится опция "Укрыть расширения известных типов файлов" - необходимо выбрать эту опцию и подтвердить операцию нажатием кнопки "OK". В этот момент расширения всех файлов, в том числе PCX должны появится сортированные по названию файла.

    У вас есть проблема с открытием.PCX-файлов? Мы собираем информацию о файловых форматах и можем рассказать для чего нужны файлы PCX. Дополнительно мы рекомендуем программы, которые больше всего подходят для открытия или конвертирования таких файлов.

    Для чего нужен файловый формат.PCX?

    Как сокращение от "PC Exchange" расширение .pcx относится к типу файлов "Изображение ZSoft" (.pcx ). ZSoft — компания-разработчик графического формата PC Exchange (PCX), впервые использовавшая его в своем графическом редакторе PC Paintbrush (MS-DOS). Оставшись в наследство от эпохи MS-DOS, формат PCX пригоден для индексированных (4/8 бит) и полноцветных (24 бит) растровых RGB-изображений с применением быстрого, но не слишком эффективного метода сжатия без потерь. PCX чем-то похож на BMP, хоть и гораздо менее распространен.

    Файл .pcx представляет собой графическое изображение в формате PCX. В Майкрософт Windows "родная" поддержка PCX отсутствует еще с Windows 98, но изображения .pcx можно было использовать в Майкрософт Office путем импорта через соответствующий фильтр формата (с 2003 не поддерживается). Во всех последующих выпусках Майкрософт Windows и Office для работы с изображениями .pcx требуется стороннее ПО.

    

    Изображения PCX по-прежнему открываются рядом универсальных просмотрщиков (некоторые даже обеспечивают создание миниатюр предпросмотра), а также импортируются мощными графическими редакторами вроде Adobe Photoshop или GIMP. Кроме того, существуют конвертеры для различных платформ, способные преобразовывать изображения .pcx в стандартные форматы PNG, JPEG или TIFF.

    Программы для открытия или конвертации PCX файлов

    Вы можете открыть файлы PCX с помощью следующих программ: