Статьи по Assembler


           

о кодировании, покажем, каким образом


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

Вначале идут байты, относящиеся к нулевому слою, затем - к первому, и так далее до четвертого включительно, после чего все повторяется сначала:



Рис.6. Порядок следования данных

программа обработки файла pcx

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

Под интерпретацией здесь понимается возможность правильно понимать данные, хранящиеся в заголовке pcx-файлов, и в соответствии с ними (данными заголовка) строить на экране изображение.

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

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

Построение любой программы начинается с четкого уяснения условий, поставленных задачей. Каковы же эти условия?


  • минимальный размер кода
  • минимально возможный и фиксированный размер занимаемого пространства при выполнении программы
  • быстрота вывода
  • способность "понимать", возможна ли обработка данного pcx-файла
  • разбор палитры и инициализация регистров палитры видеоадаптера
  • независимость от того, каким из графических редакторов создавался pcx-файл (полной независимости конечно, не бывает)
  • режим работы монитора с разрешением 640х350 (режим 10h для адаптеров EGA/VGA)
  • pcx-файл должен находиться отдельно от программы вывода


Первые два условия объясняются желанием не увеличивать "безгранично" размеры программы*), к которой пристыковывается этот модуль, и, во-вторых, быть независимым от размеров pcx-файла и от типа (.com или .exe) основной программы. Предваряя результат, скажем, что размер исполняемого модуля менее одного килобайта. А процедуры, относящиеся непосредственно к декодированию и выводу изображения, занимают около 600 байт.


Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий