GIF

Материал из Lurkmore
Перейти к навигации Перейти к поиску

Народ требует хлеба и зрелищ!

Народ требует иллюстраций к статье!
В конце концов, если бы мы хотели почитать, мы бы пошли в библиотеку.

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

ТТХ

GIF является форматом сжатия без потерь, поддерживающий, правда, до 256 цветов в палитре. Впрочем, это могут быть любые 256 цветов — хоть Web Safe, хоть 256 оттенков серого или, скажем, жёлтого. Так что сложносочинённые градиентики и фоточки в ГИФе выглядят фигово, зато разные скриншоты, диаграммы и схемы — очень неплохо (гораздо лучше чем в JPEG при заметно меньшем размере). Умеет использовать пиксели разных пропорций, чем никто и никогда не пользуется, а также прозрачные пиксели (один из 256 цветов может быть «прозрачным»). Это, кстати, единственный из графических форматов с прозрачным цветом, правильно отображаемый б-гомерзким IE6, поддержку которого до сих пор требуют от верстальщиков особо изощрённые заказчики. И, что самое главное, поддерживает покадровую анимацию изображений: можно задавать последовательность картинок, каждая из которых висит на экране X сотых долей секунды, а потом сменяется следующей.

Кошерной заменой для GIF без анимации явлется PNG (который, к слову, ещё и меньше занимать будет), так как в indexed color (изображения с палитрой — 256 цветов и менее) ослик IE6 таки отображает прозрачность в PNG правильно — Ken Silverman (автор движка Duke Nukem 3D) гарантирует это: pngout. Поскольку PNG не поддерживает анимацию, был создан формат MNG. Но вскоре MNG умер, и на его смену пришёл неофициальный формат APNG, который впоследствии тоже R.I.P.

Применение

Широко и разнообразно; основной, впрочем, смысл — привлечь внимание какой-нибудь анимацией. Началось всё с анимированных логотипов и крутящихся черепов эпохи Веб 1.0, а также проном в те времена, когда никаких ютубов порнотубов и в проекте не было. Подробнее:

  • Анимированные аватарки на быдлофорумах.
  • Анимированные смайлики там же.
  • Замена вставки видео на ТруЪ-олдовых сайтах типа Лепры, где вставка видео не поддерживается, не поддерживалась и никогда не будет поддерживаться. Из принципа.
  • На имиджбордах до введения формата webm, позволяющего загружать туда видео, а также на тех, где webm всё ещё нет. Но и там где таковой присутствует, гифки вполне себе цветут и пахнут, для них даже спецразделы /gif/ открыли.
  • Макросы и всякая прикоффьная анимация.
  • Ебанатские сайты вроде Упячки, наполненные мозгоразрывающими гифами чуть более чем полностью.
  • Анимированные баннеры, порнобаннеры и желтосмибаннеры.

Ещё можно использовать как один из вынужденных методов для просмотра стереофото, также позволяет увидеть стереофото одноглазым.

Вообще, применение ГИФов на настоящий момент сложно и многогранно. Дело в том, что «крутую анимацию» можно вставить практически куда угодно обычным IMG-тегом, а для изготовления почти не требуется мозга. В результате гифы используются в Педивикии для иллюстрации, например, физических или математических процессов, создаются гипнотические и рекурсивные гифы, а также такие, которые можно располагать друг за другом мозаикой и получать связную анимацию. Есть специальные сайты типа http://giftube.com, где можно обмениваться гифами. Разумеется, можно хвастаться перед коллегами-школьниками гифом с волнительно колеблющимися сиськами из любимого прона. Ну и картинки с сюрпризами, куда уж без них.

Будущее

ГИФ все ещё популярен как никогда, и деваться никуда не собирается. И плевать, что пост с большим количеством гифов (особенно — огифенных сцен из фильмов) весит примерно столько же, сколько полнометражный фильм в AVI, и на нём виснет браузер. Новомодные HTML5 теги типа video хоть и могут теоретически вытеснить ГИФ, но их всё ещё поддерживают не все браузеры, ещё меньше блогов и форумов, ну и главное — вставка видео таки требует минимального количества мозга, а гиф — «поставил и оно крутится». Гипотетически возможен заменитель в виде анимированного PNG, но, поскольку не являясь, ни стандартом W3C, ни даже стандартом libpng самого PNG, подавляющее большинство браузеров APNG игнорирует, да и преимущество, в общем-то, небольшое — снято ограничение на 256 цветов, а вот весит оно… Не говоря уже о том, что сжимать ПНГ можно разными способами, что ещё больше сбивает с толку простодушного анонимуса. Так что мы очень любим ГИФ! Только ГИФ! Хайль ГИФ!

На Уютненьком

На Уютненьком загрузка гифов с некоторых пор запрещена по техническим причинам с формулировкой «нахуй это ваше задротство» (до сих пор при желании можно найти немало пикч в этом формате, залитых ещё до введения запрета). Потому иллюстраций в этой статье не будет, кроме, конечно же, рекламы в GIF слева. Хотите залить — перезаливайте в APNG.

На самом-то деле, причина в том, что медиавики некорректно обрабатывает некоторые варианты отлупа, которые могут на некоторых гифках вернуть похапэшные библиотеки, что, при правильной гифке, кладёт движок Лурки чуть более, чем полностью. А ещё этим грешит KusabaX — ну да вы наверняка сталкивались. Рекламные движки (и допиленная умелым админом покусямба) это дело знают и обрабатывают корректно. Поэтому некоторые модераторы, в случае экстремальной важности, готовы руками проверить гифку на кошерность и залить её — по крайней мере, теоретически обещали, но в реале того, чего принципиально нельзя конвертнуть, пока не встретилось.

Вконтакте

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

APNG

APNG — это какбе обычный PNG, который украл анимацию у GIF. При этом все кадры имеют одни и те же цветовой режим и палитру (если она есть). Каждый кадр может обладать свойством наложения на предыдущий кадр. APNG не может иметь локальную палитру (а ведь именно это свойство помогает обойти ограничение в 256 у GIF, однако размер может сильно вырасти), но может использовать 24-бит цвета и 8-бит альфа-канала. Работает исключительно в Огнелисе, браузере разработчика формата, Safari 8+, Chrome 59+ (и всех браузерах на движке Chromium 59+) и Opera 11/12 (на движке Presto). Для остальных браузеров (включая Internet Explorer) отображается статичная картинка.

Для отображения в прочих браузерах можно использовать хреновый костыль в виде особых CSS-уловок, которые доступны любым браузерам, поддерживающим HTML5 Canvas, — например, IE 9, для Google Chrome есть специальное расширение для отображения APNG, работающее по этому принципу костыля. По сути, оно получает, затем ломает APNG на множество отдельных PNG-картинок и воспроизводит их через HTML5 Canvas.

Отдельно стоит отметить, что APNG, будучи исключительно поделием Mozilla, не имеет никакого отношения ни к Web-стандартам, ни к самому стандарту PNG и его libpng, что делает поддержку формата сторонними браузерами не только маловероятной, но даже вредной. С графическими редакторами ситуация ещё хуже, из-за непродуманности и кривости формата, работа с APNG чревата сбоями и глюками при работе со стандартными PNG (конфликт стандартов), вследствие чего, нативная поддержка APNG не внедрена даже в GIMP, куда радостно втыкают поддержку любого GPL поделия. Остаются только разные просмотрщики изображений — для них не критично.

Поэтому совершенно внезапно в конце июля 2013 года на неофициальном сайте формата появилась таинственная надпись:

Animated PNGs are dead and will never return.

2009—2013

Однако сайт в один прекрасный день воскрес. Кстати, никто не знает, но хром поддерживает анимированный WebP (как lossy, так и lossless). Недавно появилась поддержка APNG в WebKit и Safari. Желающие могут забубенить и APNG, и WebP, и GIF через Modernizr. Впрочем, терпению может прийти конец. Тогда можно просто взять и скомпилировать chromium с APNG, благо исходники имеются. Один программист обещает опубликовать для желающих код с APNG… предварительная версия уже имеется.

По состоянию на 2016 год, плагин поддержки APNG полностью перестал работать в Chrome\Chromium\Opera, а его автор разводит руками. Причина проста — разработчики движка Blink закрыли дырку, позволявшее окружению дважды перезагружать изображение капчи, а в месте с тем закрыли возможность работать данному расширению построенному на этом принципе.

По состоянию на 2017 год, в Chrome добавили поддержку APNG с 59 версии, а если быть точнее то в Chromium. А это это значит что Opera, Яндекс.Браузер и всё что на его движке будут поддерживать APNG. Потенциально это может возродить формат.

См. также

Ссылки


w:GIF ae:GIF kym:gif

Loading comments...