Pull to refresh

True-Color GIF

Reading time 2 min
Views 25K
Original author: I Dont Know
Случайно наткнулся, был сильно удивлен:

True Color GIF image
(32697 colors, 184565 bytes)
image


Quantized GIF image
(256 colors, 54197 bytes)


Dithered GIF image
(101 colors, 48069 bytes)


Три изображения демонстрируют разницу между спектром в 32697 цветов и его квантизацией до 256 и дизерингом до 101. Все три рисунка в формате GIF. Все три отвечают спецификации формата GIF89A, в опубликованном Compuserve виде (и все три без компрессии).
Разница в том, что первое изображения было создано с помощью библиотеки ANGIF, непосредственно из буфера данных программы, создавшей true color спектр в 217x217px изображении.

Ошибочное мнение, что GIF имеет лимит в 256 цветов, вероятно восходит своими корнями к 80'м, когда видео карты, в своем большинстве, не поддерживали больше 256 цветов.
Обмен картинками становился все более популярным среди BBS и интернет пользователей, так что разнообразные viewer'ы были быстро написаны.

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

Все конвертеры в GIF использовали различные способы урезать количество цветов до 256. И все GIF состояли лишь из одного блока изображения, несмотря на то, что стандарт GIF некоим образом не ограничивает количество блоков.
Но так как не было смысла использовать больше 256 цветов, то не было и смысла использовать больше одного блока.

Сия практика укоренилась в IT культуре и в конце-концов все 'знали' что GIF не поддерживает больше 256 цветов.

На самом деле, программы, использовавшиеся для генерации GIF не поддерживали больше 1 блока, а следовательно и не могли справиться с более чем 256 цветами. Первое изображение показывает что GIF таки может быть более чем 256 цветным.

Но, чем больше цветов тем больше размер файла. Каждый блок изображения имеет свой хедер и таблицу цветов, в добавок к плохой компрессии. А в случае с ANGIF, компрессии нет совсем (из-за патентных ограничений LZW прикрутить нельзя).
Таким образом, >256 цветная гифка начинает очень быстро набирать вес. Если нет какой-то особой нужды (например, необходимо показать truecolor изображение в браузере непонимающим PNG), truecolor GIF не должна использоваться.

Использование более 256 цветов в GIF, является плохой идеей, в большинстве случаев, и должно быть ограничено определенными случаями, где не страшен огромный 'вес'.
Утверждение что формат изображений GIF ограничен 256 цветами ошибочно.

UPD#1: заметка bolkо попытке создания truecolor gif анимации, написана в Авг 2011
UPD#2: последнее изменение на странице-источнике перевода было в Oct 2006, а ANGIF first rough beta release датирован Jan 2001
UPD#3: Лебедев в 1998 году писал об этом с точки зрения веб-дизайна
Tags:
Hubs:
+125
Comments 57
Comments Comments 57

Articles