Формат GIF

Формат GIF очень широко используется в Web. Его поддерживает практически большинство броузеров, работающих с графикой. Gif-изображения делятся на два основных вида - GIF87 и GIF89а. Оба этих вида поддерживают работу с 8-битовым цветом (256 цветов и используют алгоритм LZW (по именам математиков Лемпеля, Зива и Велча) для сжатия данных без потерь. Как правило файлы имеют расширение gif. Формат GIF89a также позволяет создавать прозрачные изображения и анимации. О них мы поговорим несколько позже.


Примечание: По поводу gif-изображений у некоторых пользователей возникают беспокойства, связанные с патентом на алгоритм LZW, который принадлежит компании Unisys. Это значит, что за пользование этой запатентованной схемой необходимо платить деньги. Для этого нет никаких оснований. Как бы там не было, формат PNG призван заменить GIF.


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

156
219
320
255
423
6961

Как уже было сказано выше, gif-изображения поддерживают только 8-битовые цвета, что дает максимум 256 цветов в картине. Следовательно, при представлении полноцветных изображений, как например фотографии, в определенной степени потери неизбежны. На практике, когда изображение преобразовываются с сокращением количества цветов в палитре, происходит так называемое смешивание цветов. Процедура смешивания старается проимитировать отсутствующие цвета, располагая схожие цвета рядом друг с другом. В результате смешивания на изображении могут появиться пятна и полосы, из-за чего оно станет искаженным и нерезким: авторам Web-страниц следует с осторожностью пользоваться gif-изображениями. Компании Netscape и Microsoft пользуются сейчас так называемой "безопасной" палитрой, состоящей из 216 цветов, которая используется как в системах Macintosh, так и Window. Если в gif-изображении, выводимом на 8-битовой системе, есть цвет, не входящий в эту палитру, будет происходить смешивание.


Примечание: Согласно спецификации GIF, для создания gif-изображения с более чем 256 цветами можно воспользоваться идеей расслоения. Однако не все броузеры поддерживают эту малоизвестную функцию. Расслоение также позволяет получать интересный эффект чередования цветов, когда один набор цветов заменяется на другой.


Gif-изображения также поддерживают функцию прозрачности. В изображении предусмотрен бит прозрачности; это значит, что один из цветов можно сделать прозрачным. Если поместить такое изображение на фон, фон будет виден сквозь изображение. Благодаря этому можно создавать множество сложных эффектов.
Прозрачность в файле GIF далека от идеальной. В определенных случаях при ее использовании вокруг рисунка может появиться ореол. Например, для создания плавных переходов используется прием, называемый сглаживанием. В сглаженных изображениях переходы бывают плавными, потому что граница между изображением и фоном сглаживается. А так как прозрачным может быть сделан только один цвет, сглаженные цвета образуют ореол или мусор вокруг изображения.

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

Начиная с формата GIF89a, который впервые стал поддерживаться броузером Nestcape 2.0, в Web появилась возможность использовать анимацию. В GIF89a можно создать последовательность картинок, которые выступают в роли кадров мультфильма. Анимация изображения достигается тем, что одно изображение выводится вслед за другим, как в книжке-мультяшке. Функция анимации также позволяет задавать в картинке время выхода каждого кадра и количество повторов. Сегодня анимированные gif-изображения являются одним из самых популярных способов добавления простой анимации в Web-страницы, т.к. практически любой броузер поддерживает работу с ним. Те же броузеры, которые не понимают данный формат, просто выводят первый кадр анимации. Пользуясь, тем что для подобной анимации не требуются ни дополнительные модули, ни какие-либо особые возможности броузера, авторы Web-страниц все-таки не должны злоупотреблять анимацией на своих страницах. Чрезмерное использование анимации только отвлекает от чтения страницы и, кроме того, увеличивает время ее загрузки, в особенности если при создании анимации неэффективно использовались кадры. Один из способов уменьшения размеров распухших файлов заключается в замене в каждом кадре только движущих объектов. Благодаря этому трюку размеры файла могут значительно сократиться.

Подводя итог, скажем, что gif-изображения, благодаря своей схеме сжатия и поддержке 8-битовых цветов, лучше всего подходят для иллюстраций. Gif-изображения поддерживают функцию чередования, которая может использоваться для постепенного вывода изображения на Web-странице. В то же время, из-за своей схемы сжатия gif-изображения не подходят для вывода картинок фотографического качества. Эту задачу лучше оставить формату JPEG - наиболее широко поддерживаемый формат. Однако сейчас набирает популярность формат PNG, имеющий все возможности GIF-формата, а также ряд преимуществ (слои, 24-битный цвет, 8 бит прозрачности).

Для более подробного ознакомления со структурой файла формата GIF посмотрите спецификацию данного формата.

Вернуться к списку графических форматов