?

Log in

No account? Create an account
nyaload

Журнал Пушыстого

Журнал Пушыстого

Previous Entry Share Next Entry
because we can
nyaload
_winnie
Захотел сегодня сделать из зацикленного gif - не зацикленый. Чтобы анимация показывалась только один раз.

Нашёл описание формата, поправил два байта (unsigned number of repetitions) с количеством повторения с нуля (бесконечно зацикленый) на 1 (попробовал оба варианта, big endian и little endian). Не получилось, картинка осталась зацикленой. Тогда просто испортил заголовок описывающий анимацию, поменяв 21FF на 21AA. Получилось, gif теперь в FF и хроме не зацикленый. Но IE отказался его показывать. Тогда просто стёр этот блок. Получилось. Но FireFox действительно теперь показывает анимацию ровно один раз, а для перезапуска анимации - нужно перезагружать браузер. Блок легко кстати ищется глазами по строке "!..NETSCAPE2.0"

Давно ничего не редактировал в бинарном виде. Узнал, что в vim принято переключаться из бинарного режима в текстовый при помощи внешней программы конвертирования ( «:%!xxd» туда, и «:%!xxd -r» обратно ). Работает, но до нормального hex-редактора далеко (нельзя даже найти последовательность, которую перенесли на другую строку, для удаления байтов нужно переключиться в text-режим и запоминать в голове в штуках смещения, положение курсора естественно забывается).





  • 1
(Deleted comment)
Это и есть последний кадр, судя по сюжету гифки

IrfanView зацикливает.
XnView зацикливает.
FastStoneViewer зацикливает.
Был ещё мать всех редакторов анигифов в Виндовс, но нет сейчас под рукой.
А нельзя сделать последний кадр - 100 лет? Самое реальное решение, наверное.

GIFAnimator.exe. Даёт задать 30000 тиков, т.е. 5 минут. Почти бесконечность в реале :)

  • 1