Рефераты. Анимационная графика в презентации

Таблица 3. Структура блока изображения  GIF

 
         Каждое изображение файла GIF отображается на указанном в заголовке логическом экране. При этом изображение может иметь свою собственную цветовую палитру и размер изображений не обязательно должен быть одинаковым. Один файл GIF может хранить ряд слайдов (slide show), в котором последовательные изображения, частично перекрываясь, формируют целое изображение. Следует заметить, что такой тип частично перекрывающихся изображений предполагает использование глобальной палитры, так как далеко не все видеосистемы позволяют использовать различные палитры для разных частей экрана

                            


Сжатые данные изображения хранятся в виде серии подблоков (sub-blocks). Каждый подблок содержит однобайтовый счетчик, за которым следует указанное  количество байт данных. Подблок с нулевым значением счетчика определяет конец сжатых данных изображения. Границы подблоков не связаны какими-либо деталями изображения. При выводе изображения данные из всех подблоков объединяются вместе и распаковываются в последовательность пикселей. Эти пиксели, в свою очередь, делятся на строки развертки и выводятся на экран.

         За блоком изображения расположены блоки расширения. Они начинаются с байта 0×12, имеют один общий формат и, благодаря этому, читающая программа может просто пропустить любой неопознанный блок расширения. Так же, как и в блоке изображения, последний блок расширения указывается с помощью подблока с нулевым значением счетчика. Для большинства типов блоков расширения первый подблок особый – он содержит специфическую информацию об этом блоке.

         Блок текста (text extension) можно либо непосредственно вставлять, либо накладывать на изображение. Хранение текста в явном виде, во-первых, требует меньше места, чем хранение графического образа того же текста. Во-вторых, это позволяет осуществлять поиск GIF-файлов по специфическим текстовым строкам. Кроме того, часто текст воспроизводится с более высоким качеством, на которое не влияет применяемые  во многих программах dithering и halftoning  (методы эмуляции дополнительных цветов).

          Структура первого подблока текстового блока (12 байт) приведена в таблице 4. Остальные подблоки содержат непосредственно текстовые данные, используется набор символов US ASCII.

          Блок управления графикой  (graphics control extension) размером 4 байта содержит информацию для программы просмотра о том, как последующее изображение будет взаимодействовать с существующими. Он определяет, что программа просмотра должна сделать после того, как очередное изображение или текст будут выведены на экран (таблица 5).


Размер в байтах

Описание

2

Координата X для вывода блока текста

2

Координата Y для вывода блока текста

2

Ширина блока текста в пикселях

2

Высота блока текста в пикселях

1

Ширина символа в пикселях

1

Высота символа в пикселях

1

Номер палитры цвета тона

1

Номер палитры цвета текста









Таблица 4. Структура первого подблока текстового блока GIF

 
 





  Самый простой по структуре блок расширения предназначен для комментариев (comment extension). Его подблоки содержат текст ASCII. Эти комментарии не предназначены для вывода на экран вместе с основным изображением. Современные программы визуализации изображений обычно позволяют просматривать эти комментарии в отдельном окне.

          Спецификация формата версии GIF89a включает в себя блок поддержки приложений (application extension). Это позволяет приложениям сохранять любую необходимую информацию в GIF-файлах. Например, блок можно использовать для указания версии приложения, с помощью которого создан файл.

          Подробную документацию по формату GIF можно получить на сервере


       ftp://x2ftp.oulu.fi/pub/msdos/programming/forniats.


Размер

в байтах

Биты

Описание

1

 

Способ обработки изображение

 

0

Если 1,то используется прозрачный цвет

 

1

Если 1, то программа ожидает ввода данных пользователем

 

2

Если 1, то изображение на экране остается без изменений

 

3

Если 1, то предыдущее изображение затирается цветом фона

 

4

Если 1, то восстанавливается предыдущее изображение

 

5-7

Зарезервированы (всегда 0)

2

 

Задержка после вывода изображения (в сотых долях секунды)

1

 

Использовать этот цвет палитры как прозрачный

Таблица 5. Структура блока управления графикой GIF

 

 

                                



  6.   Оптимизация изображений в формате GIF.


        Основная цель оптимизации изображений в формате GIF - уменьшение объема файла. При этом ставится задача сохранения приемлемого качества изображения.

        Для статических (не анимированных) GIF-изображений можно выделить следующие методы оптимизации:

  • уменьшение количества цветов;
  • оптимизация палитры изображения;
  • стилизация изображения;
  • фрагментарная оптимизация;

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



   6.1       Уменьшение количества цветов.


          Для большинства не фотографических изображений для нормального

воспроизведения вполне достаточно 256 и менее цветов. Поэтому «лишние»

цвета можно (и нужно) убрать из изображения, тем самым, уменьшив размер файла. Как уже отмечалось, формат GIF поддерживает размер палитры до 256 цветов. Теоретически, мы можем задать любое число цветов палитры в диапазоне 1...256. например. 33 цвета или 100. Практически же, количество цветов в изображении выбирается из ряда 2. 4. 8. 16. 32, 64, 128. 256. Приведенный ряд является рядом максимального количества цветов при использовании от 1 до 8 бит на пиксель. В случае если мы задействовали в рисунке, допустим. 100 цветов, то для сохранения информации о цвете каждого пикселя все равно будет использовано 7 бит (то есть 28 цветов окажутся «не востребованными» и память будет использоваться не оптимально). Поэтому при выборе количества цветов нужно ориентироваться на приведенный выше ряд, при этом следует постепенно уменьшать

размер палитры до появления заметного ухудшения качества картинки.

          Оптимизация палитры изображения. Использование палитры - это процедура преобразования полноцветного  изображения в индексное (другими словами - это переход от произвольных цветов к цветам из заданного набора). Палитра конечного изображения может быть либо фиксированной, либо оптимизированной. В первом случае графический редактор просматривает каждую точку изображения и подбирает ей ближайшую по цвету из палитры. Этот способ дает самые худшие результаты с точки зрения верности воспроизведения цветов. Попробуйте, например, преобразовать фотографию красной розы в индексное изображение, используя палитру, содержащую оттенки зеленого. Это конечно, крайний случай, но данный пример весьма показателен с точки зрения оценки качества преобразования с использованием фиксированной палитры. Тем не менее, данный способ применяется - в основном для того, чтобы изображения приемлемо выглядели на мониторах с малым количеством цветов (16 256). Обычно в этом случае пользуются так называемой палитрой Netscape (другое название - безопасная палитра), состоящей из набора часто используемых цветов и их оттенков. Применение палитры Netscape гарантирует, что изображения будут одинаково показаны всеми браузерами. При использовании оптимизированной палитры обрабатывающая программа вначале анализирует изображение и составляет список всех используемых цветов. Далее, на основании частоты появления цветов и максимального числа «удерживаемых» цветов, составляется палитра, которая называется оптимизированной. После этого, уже обычным способом, рисунок анализируется, и цвет пикселя заменяется ближайшим из палитры. Этот способ дает гораздо лучшие результаты. Иногда при недостатке цветов в палитре применяется так называемый дизеринг (color dithering). Например, у нас в палитре 16 стандартных чистых цветов, а нам нужен отсутствующий оранжевый цвет. В таком случае, мы можем составить его из красных и желтых точек, разместив их в шахматном порядке. Человеческое зрение обладает свойством смешения цветов точек, размеры которых не больше разрешающей способности глаз. Поэтому, издалека нам покажется,  что в изображении присутствует сплошной оранжевый цвет. Применение дизеринга для преобразования изображений может дать очень хорошие результаты. Но следует помнить, что с точки зрения оптимизации размеров файла эффект будет, скорее всего, обратным. Применение дизеринга может привести к увеличению, причем довольно существенному, размера файла. Все дело в способе хранения GIF-изображения, которое перед записью на диск подвергается сжатию методом LZW. Особенность этого метода заключается в том,  что сжатию лучше всего поддаются области,  заполненные однородным цветом, и хуже всего - области, состоящие из набора разноцветных точек. Дизеринг же, как раз,  и основан на том,  что получает недостающие цвета путем «перемешивания» точек разных цветов. Поэтому к оптимизации при помощи дизеринга нужно относиться очень аккуратно.

Страницы: 1, 2, 3, 4



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.