Анимационная графика в презентации
Реферат - Компьютеры, программирование
Другие рефераты по предмету Компьютеры, программирование
µделах одного файла изображения друг на друга, устанавливать прозрачный цвет и помещать в файл дополнительную информацию для приложений. Если эти возможности реально не задействовать, то большинство программ будут создавать файл версии GIF87a. В результате даже те программы, которые распознают только первую версию формата, нормально работают большинством изображений, полученных из Internet.
Файл GIF состоит из заголовка и серии блоков.
5.2 Заголовок GIF-файла.
Заголовок хранит основную информацию об изображении, в том числе о таблице цветов, использованных для всех изображений файла. Структура заголовка GIF приведена в таблице 1. Он состоит из сигнатуры, дескриптора логического экрана и описания глобальной палитры.
Размер в байтахБитыОписание3GIF3Версия (87a или 89a)2Ширина экрана2Высота экрана1Информация об экране и цветах0-2Размер глобальной палитры31, если выборочная палитра4-6Разрешение цвета (число битов минус 1)71, если глобальная палитра1Цвет фона1Отношение масштабов по вертикали и горизонтали3NГлобальная палитра
Сигнатура используется для идентификации типа файла и занимает 6 байт.
Дескриптор логического экрана описывает предполагаемый вид экрана и включает информацию о пропорциях и максимальном разрешении хранимых изображений. Каждое изображение, содержащееся в файле, будет воспроизводиться на экране с заданными дескриптором параметрами.
Описание глобальной палитры содержит информацию о глубине цвета, цвете фона и заданной по умолчанию цветовой палитре.
5.3 Блоки GIF-файла.
За заголовком следуют блоки. Каждый блок начинается с одного или двух байтов, идентифицирующих его тип. Типы блоков, поддерживаемых форматом GIF, приведены в таблице 2.
Идентификатор
блока
(1-й байт)Дополнительный
идентификатор
(2-й байт)
Имя блокаОписание
блока
расширения02C---Изображение---03B---Конец файла
(терминатор GIF)---021001Блок расширенияБлок текста0210F9Блок расширенияБлок управления
графикой0210FEБлок расширенияБлок комментариев0210FFБлок расширенияБлок поддержки
приложений
Блок изображения, структура которого приведена в таблице 3,
содержит три раздела. В первом находится описание изображения и способа его хранения в файле. Второй раздел (необязательный) содержит описание цветовой палитры, использованной только для этого изображения. В третьем разделе находятся данные собственно изображения.
Размеры в битахБитыОписание2Координата X изображения на экране2Координата Y изображения на экране2Ширина изображения2Высота изображения1Информация об изображении01, если используется локальная палитра11, если используется способ хранения interlaced21, если хранится палитра3-4Зарезервированы (всегда 0)5-7Размер локальной палитры3NЛокальная палитра (необязательно)Подблоки, содержащие сжатые данные изображения Каждое изображение файла GIF отображается на указанном в заголовке логическом экране. При этом изображение может иметь свою собственную цветовую палитру и размер изображений не обязательно должен быть одинаковым. Один файл GIF может хранить ряд слайдов (slide show), в котором последовательные изображения, частично перекрываясь, формируют целое изображение. Следует заметить, что такой тип частично перекрывающихся изображений предполагает использование глобальной палитры, так как далеко не все видеосистемы позволяют использовать различные палитры для разных частей экрана
Сжатые данные изображения хранятся в виде серии подблоков (sub-blocks). Каждый подблок содержит однобайтовый счетчик, за которым следует указанное количество байт данных. Подблок с нулевым значением счетчика определяет конец сжатых данных изображения. Границы подблоков не связаны какими-либо деталями изображения. При выводе изображения данные из всех подблоков объединяются вместе и распаковываются в последовательность пикселей. Эти пиксели, в свою очередь, делятся на строки развертки и выводятся на экран.
За блоком изображения расположены блоки расширения. Они начинаются с байта 012, имеют один общий формат и, благодаря этому, читающая программа может просто пропустить любой неопознанный блок расширения. Так же, как и в блоке изображения, последний блок расширения указывается с помощью подблока с нулевым значением счетчика. Для большинства типов блоков расширения первый подблок особый он содержит специфическую информацию об этом блоке.
Блок текста (text extension) можно либо непосредственно вставлять, либо накладывать на изображение. Хранение текста в явном виде, во-первых, требует меньше места, чем хранение графического образа того же текста. Во-вторых, это позволяет осуществлять поиск GIF-файлов по специфическим текстовым строкам. Кроме того, часто текст воспроизводится с более высоким качеством, на которое не влияет применяемые во многих программах dithering и halftoning (методы эмуляции дополнительных цветов).
Структура первого подблока текстового блока (12 байт) приведена в таблице 4. Остальные подблоки содержат непосредственно текстовые данные, используется набор символов US ASCII.
Блок управления графикой (graphics control extension) размером 4 байта содержит информацию для программы просмотра о том, как последующее изображение будет взаимодействовать с сущест