Сжатая несжатая ГИФ-анимация
В догонку к предыдущей статье: мне удалось сделать несжатый анимированный ГИФ c сжатием через DEFLATE, вот он ниже (анимация не закциклена):

Там шесть несжатых кадров (цифры «1», «2», «3», «3», «2» и «1») с небольшой задержкой, таблица из 16 цветов, в этом формате (несжатый ГИФ+DEFLATE) файл занял 619 байт:
bolk@Bolk ~ $ telnet bolknote.ru 80
Trying 91.230.61.15...
Connected to bolknote.ru.
Escape character is '^]'.
HEAD /imgs/2012.08.08.1.gif-gz HTTP/1.0
Host: bolknote.ru
Accept-encoding: gzip
HTTP/1.1 200 OK
Content-Type: image/gif
Content-Length: 619
Content-Encoding: gzipСобранная при помощи gifsicle анимация в формате «обычного» ГИФа занимает 1028 байт, разница в полтора раза. Права, я выключил в gifsicle оптимизацию — иначе gifsicle исключит из изображений повторящиеся части и эксперимент будет нечистым.
Комментарии 17
1) взял семь фотографий наугад из альбома фотографий из зоопарка Паттайи: http://fotki.yandex.ru/users/bolknote/album/136352/
2) перевёл их в ГИФ, уменьшил до 400×200
3) перевёл в анимированный ГИФ двумя способами.
gifsicle -O3 дал 470КБ, несжатые ГИФы, собранные «вручную» в анимированный и сжатые gzip — 458КБ.
Это 12КБ разницы только для семикадровой анимации. Если научить gifsicle подключать внутреннюю оптимизацию кадров (когда между кадрами выкидывается всё статичное), но не сжимать сам ГИФ, то можно будет попробовать пережать ролики с
XP, FF14
Там анимация конечная (не зацикленная), может момент анимации пропускаете просто.
А самый звездец для формата (3 и более чередующихся разных кадра, 2 ещё можно
Сжатие Gifа ничего не знает о других кадрах, Zipа — о том, что там вообще есть
а
Я попробую в скором времени написать конвертор, который берёт кадры из уже анимированного файла и делает из этого всего несжатый анимированный ГИФ. Посмотрю что получится.
Что имеется ввиду?
Вероятно от вставки php —
А :)