Gifsicle — узкоспециализированная программа для работы с GIF-файлами через командную строку. Она создаёт GIF-анимации из отдельных изображений, объединяет кадры, извлекает фрагменты анимации, меняет задержки, управляет зацикливанием, обрезает, отражает, поворачивает, уменьшает размер, оптимизирует файл и выводит техническую информацию о структуре GIF. У Gifsicle нет привычного окна с панелью инструментов: основная работа строится вокруг команды gifsicle, входных файлов, параметров и выходного файла. Такой формат неудобен для пользователей, которым нужен визуальный редактор, зато хорошо подходит для пакетной обработки, автоматизации и повторяемых операций.
Gifsicle особенно полезен там, где GIF-анимация уже подготовлена, но её нужно привести в порядок перед публикацией: уменьшить вес, убрать лишние кадры, изменить палитру, проверить задержки или подготовить несколько одинаково обработанных файлов. Для записи экрана, монтажа видео и рисования кадров программа не предназначена; для таких задач удобнее использовать редакторы и рекордеры вроде ScreenToGif, GIMP, Paint.NET или видеоредакторы. Gifsicle занимает другую нишу: он не заменяет визуальный редактор, а выполняет точные операции над GIF в терминале.
На скриншоте видно, как выглядит работа с Gifsicle в терминале: вместо кнопок пользователь видит список параметров, режимов и синтаксис команд. Для этой программы такой интерфейс является нормой: все действия выполняются через аргументы командной строки.
Краткая карточка Gifsicle
| Характеристика | Описание |
|---|---|
| Название | Gifsicle |
| Тип | консольная утилита для GIF |
| Основной формат | GIF |
| Интерфейс | командная строка |
| Основные задачи | создание, редактирование, анализ и оптимизация GIF-анимаций |
| Работа с кадрами | выбор, извлечение, удаление, вставка, замена, обратный порядок |
| Оптимизация | -O1, -O2, -O3, --lossy, --colors, --no-extensions |
| Изменение размера | --resize, --resize-width, --resize-height, --resize-fit, --scale |
| Цвет и палитра | --colors, --color-method, --use-colormap, --dither, --gamma |
| Анимация | --delay, --disposal, --loopcount |
| Дополнительные утилиты | gifview и gifdiff |
| Лицензия | GNU General Public License Version 2 |
| Основная аудитория | разработчики, веб-мастера, технические авторы, системные администраторы, пользователи терминала |
Gifsicle воспринимается не как универсальный графический редактор, а как рабочий инструмент для конкретного формата. Его сильная сторона — предсказуемые команды. Пользователь задаёт входной файл, нужные параметры и место сохранения результата. Благодаря этому одну и ту же операцию легко повторить для десятков GIF-файлов, встроить в скрипт, добавить в сборочный процесс или использовать в конвейере обработки изображений.
Вместе с Gifsicle поставляются две сопутствующие программы: gifview и gifdiff. gifview предназначен для просмотра GIF на X display и поддерживает показ много кадров как слайд-шоу или как анимацию в реальном времени. gifdiff сравнивает два GIF-файла по визуальному виду и полезен при проверке программ, которые изменяют GIF.
Для каких задач подходит Gifsicle
Gifsicle стоит рассматривать как инструмент для точной технической обработки GIF. Он подходит не только для уменьшения размера файла, хотя именно эта задача встречается чаще всего. Программа умеет работать с внутренней структурой GIF-анимации: кадрами, логическим экраном, палитрой, задержками, прозрачностью, комментариями и служебными расширениями.
Типовые сценарии:
сжать GIF-анимацию перед публикацией на сайте;
уменьшить GIF для README, документации, инструкции или issue в репозитории;
извлечь первый кадр или набор кадров из анимации;
заменить один кадр без пересборки всей анимации вручную;
удалить лишние кадры;
собрать анимацию из нескольких GIF-файлов;
изменить задержку между кадрами;
включить или отключить зацикливание;
уменьшить количество цветов;
обрезать прозрачные поля;
изменить размер GIF без запуска графического редактора;
пакетно обработать каталог файлов;
проверить, как изменился GIF после оптимизации.
Gifsicle хорошо проявляет себя в повторяемых операциях. Например, технический автор подготовил несколько коротких GIF-демонстраций интерфейса и хочет привести их к одинаковой ширине, сжать и убрать лишние метаданные. В визуальном редакторе это превращается в серию однотипных действий. В Gifsicle достаточно один раз подобрать команду и применить её к набору файлов.
Интерфейс Gifsicle: команда вместо окна программы
У Gifsicle нет привычного графического интерфейса с меню File, Edit, панелью предпросмотра и кнопкой Export. Основной элемент управления — команда gifsicle, которая принимает параметры, имена файлов и выбор кадров. Это важная особенность: при обзоре Gifsicle нельзя описывать несуществующие вкладки, боковые панели и визуальные кнопки. В программе всё задаётся текстом.
Базовая форма команды выглядит так:
gifsicle [options, frames, and filenames]...В обычном режиме Gifsicle читает входные GIF-файлы, применяет указанные параметры и выводит результат в стандартный поток. Чтобы сохранить результат в файл, используется -o или --output. Специальное имя - означает стандартный вывод. Для изменения файлов на месте используется --batch или короткая форма -b; в этом режиме программа читает и записывает тот же файл.
Простая команда оптимизации выглядит так:
gifsicle -O3 input.gif -o output.gifЗдесь input.gif — исходный файл, output.gif — результат, а -O3 — уровень оптимизации, при котором программа пробует несколько методов уменьшения GIF. Если написать команду без -o, результат уйдёт в стандартный вывод. Для терминала это неудобно: бинарное содержимое GIF окажется в консоли. Поэтому в практических командах для обычного пользователя лучше явно указывать выходной файл.
Проверка справки выполняется так:
gifsicle --helpПроверка версии выполняется так:
gifsicle --versionСправка нужна не только новичкам. В Gifsicle многие параметры имеют длинную форму и короткую форму. Например, --output соответствует -o, --batch соответствует -b, --info соответствует -I, --delay соответствует -d. Короткие параметры удобны в скриптах, длинные читаются понятнее в инструкциях и документации.
Как Gifsicle работает с файлами и кадрами
GIF-анимация состоит из кадров. Gifsicle позволяет обращаться к ним через frame selections — выбор кадров. Нумерация начинается с нуля: первый кадр обозначается как #0, второй как #1, последний можно выбрать как #-1. Диапазон задаётся через дефис: #0-2 выбирает первые три кадра, а #2-0 позволяет работать с кадрами в обратном порядке. Символ # в оболочках часто используется для комментариев, поэтому выбор кадров обычно заключают в кавычки.
Примеры выбора кадров:
gifsicle animation.gif "#0" -o first-frame.gif
gifsicle animation.gif "#0-2" -o first-three-frames.gif
gifsicle animation.gif "#-1-0" -o reversed.gifВыбор кадров зависит от режима. В режиме объединения выбранные кадры попадают в итоговый GIF. В режиме --batch меняются только выбранные кадры, остальные остаются на месте. В режиме --explode выбранные кадры извлекаются в отдельные файлы. Это делает Gifsicle удобным для технической диагностики: пользователь может быстро вытащить проблемный кадр, заменить его или посмотреть, где именно возникает артефакт.
Создание GIF-анимации из отдельных файлов
Gifsicle умеет собирать несколько GIF-файлов в одну анимацию. Базовая логика проста: файлы перечисляются в нужном порядке, а результат сохраняется в новый GIF.
gifsicle frame1.gif frame2.gif frame3.gif -o animation.gifПри создании анимации важны задержка и зацикливание. Без явной задержки просмотрщик будет переключать кадры слишком быстро. Для настройки паузы используется --delay или -d. Время задаётся в сотых долях секунды: --delay=50 означает паузу 0,5 секунды между кадрами.
gifsicle --delay=50 frame1.gif frame2.gif frame3.gif -o animation.gifЗацикливание задаётся через --loopcount. Если параметр указан без числа, Gifsicle использует бесконечное повторение. Значение --loopcount=0 также означает бесконечное повторение, а не отсутствие зацикливания. Это частая ловушка: --no-loopcount отключает повтор, а --loopcount=0 делает анимацию бесконечной.
gifsicle --delay=10 --loop frame1.gif frame2.gif frame3.gif -o animation.gifТакой подход удобен для коротких демонстраций: отдельные кадры можно подготовить заранее, а Gifsicle соберёт их в итоговый GIF. Для сложного монтажа с дорожками, текстом и визуальными эффектами нужен другой инструмент, но для технической GIF-анимации из готовых кадров команды Gifsicle достаточно.
Оптимизация и уменьшение размера GIF
Оптимизация — главная причина, по которой Gifsicle часто используют в веб-разработке и технической документации. GIF-анимации быстро становятся тяжёлыми: каждый кадр содержит изображение, а формат ограничен палитрой до 256 цветов. Gifsicle уменьшает файл за счёт оптимизации кадров, прозрачности, сокращения палитры, удаления расширений и, при необходимости, потерь качества.
Для оптимизации используются уровни -O1, -O2 и -O3:

| Параметр | Что делает | Практический смысл |
|---|---|---|
-O1 | сохраняет только изменившуюся часть каждого изображения | базовая оптимизация |
-O2 | дополнительно использует прозрачность | чаще даёт меньший файл |
-O3 | пробует несколько методов оптимизации | медленнее, но нередко эффективнее |
--lossy | меняет цвета ради меньшего размера | даёт потери и требует визуальной проверки |
--colors N | уменьшает количество цветов до N или меньше | снижает вес, но может ухудшить градиенты |
--no-extensions | удаляет расширения | помогает убрать необязательные служебные данные |
Уровень -O3 не гарантирует уменьшение файла во всех случаях. В редких ситуациях даже агрессивная оптимизация создаёт файл больше исходного. Поэтому правильный процесс включает сравнение размера и просмотр результата.
Базовая команда:
gifsicle -O3 input.gif -o output.gifКоманда с уменьшением палитры:
gifsicle -O3 --colors 128 input.gif -o output-128.gifКоманда с потерями качества:
gifsicle -O3 --lossy=40 input.gif -o output-lossy.gif--lossy уменьшает размер за счёт изменения цветов. Чем выше значение, тем больше допускается артефактов и шума. Значение по умолчанию для --lossy — 20. При подборе параметра важно смотреть на конкретное изображение: GIF с плоскими цветами, интерфейсом и текстом реагирует иначе, чем GIF с видеозаписью, градиентами и большим количеством мелких деталей.
Оптимизация GIF в Gifsicle часто строится вокруг нескольких параметров сразу. Например, -O3 уменьшает анимацию структурно, --colors ограничивает палитру, а --lossy добавляет сжатие с потерями. Чем больше параметров влияет на визуальный результат, тем важнее открыть итоговый файл и проверить скорость, цвета, прозрачные области и читаемость текста.
Извлечение кадров из GIF-анимации
Для извлечения кадров используется --explode. Программа создаёт отдельный GIF для каждого кадра. Имена формируются по исходному имени файла и номеру кадра: например, anim.gif.000, anim.gif.001, anim.gif.002.
gifsicle --explode anim.gifЕсли нужны не все кадры, а только часть, используется выбор кадров:
gifsicle --explode anim.gif "#0-4"Для извлечения одного кадра в отдельный файл подходит более короткий вариант:
gifsicle anim.gif "#0" -o first-frame.gifИзвлечение кадров полезно в нескольких случаях. Технический автор может получить первый кадр для обложки инструкции. Разработчик может разобрать GIF-демонстрацию на отдельные состояния интерфейса. Дизайнер может найти кадр с ошибкой и заменить его без повторной записи всей анимации.
У Gifsicle есть режим --explode-by-name. Он похож на --explode, но для именованных кадров использует имя, заданное через --name, а не числовой номер. Такой режим нужен реже, но помогает в сценариях, где кадры имеют смысловые названия.
Удаление, вставка и замена кадров
Gifsicle умеет менять внутреннюю структуру GIF-анимации без ручного редактирования на временной шкале. Для этого используются параметры --delete, --insert-before, --append, --replace и --done. Они работают с кадрами исходной анимации и с дополнительными GIF-файлами, которые вставляются или заменяют выбранные кадры.
Удаление первого кадра:
gifsicle anim.gif --delete "#0" -o without-first.gifДобавление кадра в конец:
gifsicle anim.gif --append new-frame.gif -o appended.gifЗамена второго кадра:
gifsicle anim.gif --replace "#1" new-frame.gif -o replaced.gifПри редактировании оптимизированной анимации важен --unoptimize. Оптимизированный GIF хранит не каждый кадр целиком, а изменившиеся области. Это хорошо для размера файла, но опасно для точечной замены: следующие кадры могут опираться на данные предыдущего состояния. --unoptimize разворачивает анимацию в форму, где каждый кадр соответствует видимому состоянию на экране. После этого кадры безопаснее менять, а затем снова оптимизировать результат.
Пример замены кадра с разворачиванием и повторной оптимизацией:
gifsicle --unoptimize anim.gif --replace "#1" new-frame.gif -O2 -o fixed.gifДля изменения файла на месте используется -b, но с этим режимом нужно работать аккуратно:
gifsicle -b --unoptimize -O2 anim.gif --replace "#1" new-frame.gifВ таком варианте исходный файл перезаписывается. Перед пакетной заменой кадров разумнее работать с копией папки, потому что Gifsicle выполняет команду без визуального подтверждения и диалогов отмены.
Задержка, скорость и зацикливание GIF
Gifsicle управляет временем показа кадров через --delay. Значение задаётся в сотых долях секунды: --delay=10 соответствует 0,1 секунды, --delay=50 — 0,5 секунды, --delay=100 — 1 секунде.
Одинаковая задержка для всех кадров:
gifsicle --delay=10 input.gif -o faster.gifРазные задержки для разных кадров:
gifsicle input.gif -d50 "#0" "#1" -d100 "#2" "#3" -o custom-delay.gifТакой синтаксис полезен для GIF-инструкций. Первые кадры можно показывать быстрее, а кадр с результатом задержать дольше. Это делает анимацию понятнее без увеличения количества кадров.
Зацикливание задаётся через --loopcount:
gifsicle --loopcount input.gif -o loop-forever.gif
gifsicle --loopcount=3 input.gif -o loop-three.gifВажная деталь: число в --loopcount задаётся как количество повторов после первого показа. При --loopcount=1 каждый кадр будет показан два раза: первый проход плюс один повтор. Для полного отключения зацикливания используется --no-loopcount.
Изменение размера GIF
Gifsicle поддерживает несколько способов изменения размера. Самый прямой вариант — --resize widthxheight, где задаются ширина и высота:
gifsicle --resize 640x360 input.gif -o resized.gifЕсли нужно сохранить пропорции по одной стороне, используются --resize-width и --resize-height:
gifsicle --resize-width 640 input.gif -o resized-width.gif
gifsicle --resize-height 360 input.gif -o resized-height.gifДля вписывания в прямоугольник с сохранением пропорций используется --resize-fit. Этот режим только уменьшает GIF, если он больше заданной области; если файл уже помещается в указанный размер, масштабирование не выполняется. --resize-touch тоже сохраняет пропорции, но может как уменьшать, так и увеличивать.
gifsicle --resize-fit 640x360 input.gif -o fit.gif
gifsicle --resize-touch 640x360 input.gif -o touch.gifДля масштабирования в процентах используется --scale:
gifsicle --scale 0.5 input.gif -o half-size.gifМетод ресемплинга задаётся через --resize-method. Быстрый метод sample работает просто, но при уменьшении может давать шумный результат. Метод mix медленнее, зато обычно выглядит лучше и используется как стандартный. Также поддерживаются box, catrom, mitchell, lanczos2 и lanczos3. Более сложные методы требуют больше времени, но могут давать более резкий и аккуратный результат при уменьшении.
| Задача | Подходящий параметр | Комментарий |
|---|---|---|
| Жёстко задать ширину и высоту | --resize 640x360 | пропорции могут измениться |
| Сохранить пропорции по ширине | --resize-width 640 | высота рассчитывается автоматически |
| Сохранить пропорции по высоте | --resize-height 360 | ширина рассчитывается автоматически |
| Уменьшить до предельной области | --resize-fit 640x360 | не увеличивает маленький GIF |
| Масштабировать в процентах | --scale 0.5 | удобно для быстрого уменьшения |
| Настроить качество масштабирования | --resize-method lanczos3 | полезно при сильном уменьшении |
При изменении размера нужно помнить о логическом экране GIF. Gifsicle применяет resize после объединения входных кадров и перед оптимизацией. В файлах с необычным logical screen результат может отличаться от ожидаемого, поэтому для таких файлов бывает полезен сброс логического экрана через --no-logical-screen.
Обрезка, поворот и отражение
Gifsicle поддерживает базовые геометрические операции: обрезку, удаление прозрачных границ, поворот и отражение. Это удобно для простых технических правок, когда нет смысла открывать редактор ради одной операции.
Обрезка задаётся через --crop. Координаты определяют прямоугольную область. Можно указать левый верхний и правый нижний угол или левый верхний угол плюс ширину и высоту. Обрезка выполняется до поворота, отражения, масштабирования и позиционирования.
gifsicle --crop 10,10+640x360 input.gif -o cropped.gifОбрезка прозрачных полей:
gifsicle --crop-transparency input.gif -o no-transparent-border.gifОтражение по горизонтали и вертикали:
gifsicle --flip-horizontal input.gif -o flip-horizontal.gif
gifsicle --flip-vertical input.gif -o flip-vertical.gifПоворот:
gifsicle --rotate-90 input.gif -o rotate-90.gif
gifsicle --rotate-180 input.gif -o rotate-180.gif
gifsicle --rotate-270 input.gif -o rotate-270.gifТакие функции не превращают Gifsicle в полноценный графический редактор, но закрывают частые задачи подготовки GIF: убрать пустые поля, повернуть неправильную ориентацию, отразить изображение, подогнать область анимации перед публикацией.

Цвета, палитра и дизеринг
GIF ограничен палитрой, поэтому работа с цветами напрямую влияет на размер и вид анимации. Gifsicle умеет уменьшать количество цветов, применять заданную палитру, переводить изображение в Web-safe palette, grayscale или black-and-white, включать дизеринг и использовать разные цветовые пространства при выборе палитры.
Сокращение палитры:
gifsicle --colors 64 input.gif -o colors-64.gifWeb-safe palette:
gifsicle --colors=64 --use-colormap=web input.gif -o web-palette.gifЧёрно-белая версия с дизерингом:
gifsicle --dither --use-colormap=bw input.gif -o bw.gif--colors принимает число от 2 до 256 и уменьшает количество различных цветов в итоговом GIF. Это помогает снизить размер файла, но может привести к полосам на градиентах, потере оттенков кожи, грубым переходам и ухудшению мелких элементов интерфейса. Для GIF с плоской графикой значение 64 или 128 часто выглядит приемлемо; для видеоподобной анимации агрессивное сокращение палитры заметнее.
Дизеринг задаётся через --dither. Gifsicle поддерживает Floyd-Steinberg, Atkinson, ordered dithering, ro64, o3, o4, o8, halftone, squarehalftone и diagonal. Floyd-Steinberg часто выглядит хорошо на статичных изображениях, но в анимации может создавать мерцание, потому что распределение точек отличается от кадра к кадру. Ordered dithering помогает избежать таких артефактов в движении.
--gamma влияет на выбор палитры, дизеринг и вычисление цветовых ошибок при --lossy. Поддерживаются числовые значения, srgb и oklab. Для обычного использования стандартное sRGB-поведение подходит чаще всего. При сложной оптимизации с --lossy и заметными цветовыми артефактами имеет смысл сравнить несколько вариантов.
Прозрачность, фон и служебные данные
Gifsicle умеет назначать прозрачный цвет, менять фон, добавлять и удалять комментарии, работать с расширениями и именами кадров. Для прозрачности используется --transparent или короткая форма -t. Цвет можно задать индексом палитры, шестнадцатеричным значением или компонентами RGB.
Сделать чёрный цвет прозрачным:
gifsicle --transparent "#000000" input.gif -o transparent.gifДобавить комментарий:
gifsicle --comment "demo animation" input.gif -o commented.gifУдалить комментарии:
gifsicle --no-comments input.gif -o no-comments.gifУдалить расширения:
gifsicle --no-extensions input.gif -o no-extensions.gifКомментарии и расширения не всегда видны пользователю, но они увеличивают файл и могут мешать чистой публикации. Для веб-анимаций обычно важен итоговый вид, размер и корректное воспроизведение. Поэтому удаление необязательных служебных данных часто используется вместе с оптимизацией.
Получение информации о GIF-файле
Gifsicle полезен не только для изменения GIF, но и для анализа. Параметр --info или -I выводит человекочитаемое описание входного файла. --color-info добавляет данные о палитрах, --extension-info выводит сведения о нераспознанных расширениях, --size-info показывает информацию о сжатых размерах изображений.
Базовая информация:
gifsicle --info input.gifИнформация о палитрах:
gifsicle --color-info input.gifИнформация о размерах:
gifsicle --size-info input.gifИнформация помогает понять, почему GIF получился тяжёлым. Например, анимация может содержать много кадров, локальные палитры, комментарии, расширения или неудачное сочетание logical screen и фактических областей кадров. После анализа легче выбрать стратегию: оптимизировать -O3, уменьшить палитру, изменить размер, извлечь кадры или сначала выполнить --unoptimize.
Подготовка к запуску и проверка работы
Gifsicle запускается из командной строки. В Unix-подобной среде исходная сборка выполняется через ./configure и make; при получении исходников из GitHub перед ./configure используется autoreconf -i, если конфигурационный файл ещё не создан. Установка через make install устанавливает программу и man page. Для Windows-сборки предусмотрены make-файлы под Visual C и Borland C++; gifview в Windows-сборке не собирается.
Проверка доступности команды:
gifsicle --versionПроверка справки:
gifsicle --helpМинимальная проверка обработки:
gifsicle --info input.gifПри работе в Windows важно понимать разницу между Command Prompt, PowerShell и оболочками вроде Git Bash. Команды Gifsicle одинаковы по смыслу, но правила кавычек и специальных символов отличаются. Для выбора кадров безопаснее заключать #0, #1-3, #-1-0 в кавычки. Это особенно важно в shell-средах, где # начинает комментарий.
Инструкция: как сжать GIF в Gifsicle
Оптимизация должна выполняться так, чтобы исходный файл остался нетронутым. Рабочий вариант — сохранить результат в новый файл, сравнить размер и визуально проверить анимацию.
Шаг 1. Открыть терминал в папке с GIF
Пользователь переходит в каталог, где находится исходный файл. Для примеров файл называется input.gif.
Шаг 2. Запустить оптимизацию без потерь
gifsicle -O3 input.gif -o output.gif-O3 пробует несколько методов оптимизации. Этот вариант подходит как первая попытка: он не включает --lossy и не ограничивает палитру вручную.
Шаг 3. Сравнить размер
В Linux и macOS удобно использовать:
ls -lh input.gif output.gifВ Windows PowerShell:
Get-Item input.gif, output.gif | Select-Object Name, LengthШаг 4. Проверить анимацию
Файл нужно открыть в браузере или просмотрщике GIF. Проверяются:
не изменилась ли скорость;
сохранилось ли зацикливание;
нет ли мигания прозрачных областей;
не пропали ли кадры;
не появились ли цветовые скачки;
корректно ли выглядит последний кадр перед повтором.
Шаг 5. Добавить сокращение палитры
gifsicle -O3 --colors 128 input.gif -o output-128.gifЕсли результат всё ещё слишком большой, можно попробовать 64 цвета:
gifsicle -O3 --colors 64 input.gif -o output-64.gifШаг 6. Использовать сжатие с потерями
gifsicle -O3 --lossy=40 input.gif -o output-lossy-40.gifДля более сильного уменьшения:
![]()
gifsicle -O3 --lossy=80 input.gif -o output-lossy-80.gifПосле --lossy визуальная проверка обязательна. В интерфейсных GIF часто страдает текст и тонкие линии. В видеоподобных GIF появляются шум, грубые цветовые переходы и заметная потеря деталей.

На этом скриншоте показана не классическая настольная версия Gifsicle, а веб-оболочка, где Gifsicle скомпилирован в WebAssembly. Это хороший пример того, как консольный движок можно встроить в визуальный интерфейс: пользователь перетаскивает GIF, а обработка выполняется параметрами Gifsicle в браузере.
Инструкция: как изменить размер GIF
Изменение размера лучше выполнять до финальной оптимизации. Тогда Gifsicle сначала пересчитает кадры, а затем уменьшит файл с учётом нового размера.
Уменьшить до точного размера
gifsicle --resize 640x360 input.gif -o resized.gifЭтот вариант задаёт и ширину, и высоту. Он подходит, когда исходная анимация уже имеет такое же соотношение сторон. Если пропорции отличаются, изображение растянется.
Уменьшить по ширине с сохранением пропорций
gifsicle --resize-width 640 input.gif -o resized-width.gifВысота рассчитывается автоматически.
Уменьшить по высоте с сохранением пропорций
gifsicle --resize-height 360 input.gif -o resized-height.gifШирина рассчитывается автоматически.
Вписать GIF в область
gifsicle --resize-fit 640x360 input.gif -o resized-fit.gifТакой вариант удобен для сайта или документации, где GIF должен помещаться в фиксированную область, но искажение пропорций недопустимо.
Выбрать метод масштабирования
gifsicle --resize-width 640 --resize-method lanczos3 input.gif -o resized-lanczos.giflanczos3 может дать более резкий результат при уменьшении, но работает медленнее, чем простые методы. Для массовой обработки большого набора файлов стоит сравнить качество и время на нескольких примерах.
Сразу изменить размер и оптимизировать
gifsicle --resize-width 640 -O3 input.gif -o resized-optimized.gifКоманда удобна для GIF, подготовленных к публикации в документации. Сначала задаётся ширина, затем применяется оптимизация.
Инструкция: как извлечь, удалить и заменить кадры
Работа с кадрами — одна из сильных сторон Gifsicle. Пользователь может обойтись без визуальной шкалы времени, если точно знает номер кадра или диапазон.
Извлечь все кадры
gifsicle --explode anim.gifПосле выполнения появляются файлы вида anim.gif.000, anim.gif.001, anim.gif.002.
Извлечь первый кадр
gifsicle anim.gif "#0" -o first-frame.gifИзвлечь последние кадры
gifsicle anim.gif "#-3--1" -o last-frames.gifС отрицательными номерами нужно быть внимательным: #-1 — последний кадр, #-2 — предпоследний.
Удалить кадр
gifsicle anim.gif --delete "#0" -o no-first-frame.gifЗаменить кадр
gifsicle --unoptimize anim.gif --replace "#1" new-frame.gif -O2 -o replaced.gif--unoptimize нужен потому, что оптимизированный GIF может хранить кадры как изменения относительно предыдущего состояния. Замена одного кадра без разворачивания анимации приводит к некорректным последующим кадрам.
Вставить кадр перед указанным
gifsicle anim.gif --insert-before "#2" new-frame.gif -o inserted.gifДобавить кадр в конец
gifsicle anim.gif --append last-frame.gif -o appended.gifПосле любой операции с кадрами нужно проверять скорость, порядок, зацикливание и финальный размер. Если редактирование выполняется для уже оптимизированного GIF, безопасный порядок такой: --unoptimize, изменение кадров, затем -O2 или -O3.
Пакетная обработка GIF-файлов
Пакетный режим Gifsicle включается через --batch или -b. Он изменяет входные файлы на месте. Это удобно, но опасно без копии: команда не создаёт автоматический резервный файл.
Пример оптимизации всех GIF в папке:
gifsicle --batch -O3 *.gifПакетное включение interlace:
gifsicle --batch -i *.gifПакетное уменьшение палитры:
gifsicle --batch -O3 --colors 128 *.gifДля безопасной работы лучше скопировать файлы в отдельный каталог и запускать Gifsicle там. При регулярной обработке можно использовать отдельные папки source и optimized, чтобы не перезаписывать исходники:
mkdir optimizedfor file in source/*.gif; do gifsicle -O3 "$file" -o "optimized/$(basename "$file")"doneТакой сценарий удобен для веб-мастера, который готовит набор GIF-анимаций для публикации. Исходные файлы остаются нетронутыми, а оптимизированные версии складываются отдельно.
Как проверять результат после обработки
Gifsicle выполняет команды без визуального предпросмотра. Поэтому контроль результата — часть рабочего процесса. Особенно это важно после --lossy, --colors, --resize, --crop, --replace и пакетного режима.
Проверочный список:
сравнить размер исходного и итогового файла;
открыть GIF в браузере;
проверить первый кадр;
проверить последний кадр и переход к повтору;
убедиться, что задержки соответствуют задаче;
проверить прозрачные области;
проверить текст, тонкие линии и элементы интерфейса;
посмотреть участки с градиентами;
убедиться, что палитра не испортила важные цвета;
проверить, что нужные кадры не удалены;
при точечной замене пройти несколько кадров после заменённого.
Для автоматизированной проверки визуального равенства можно использовать gifdiff. Он сравнивает два GIF-файла по видимому результату и не считает различиями то, что не влияет на внешний вид, например порядок палитры или степень оптимизации. Если различия есть, gifdiff печатает детали; при одинаковом виде не выводит ничего.
Плюсы и минусы Gifsicle
Плюсы:
![]()
программа работает через командную строку и подходит для скриптов;
Gifsicle оптимизирует GIF-анимации уровнями
-O1,-O2,-O3;поддерживается пакетная обработка через
--batch;можно извлекать, удалять, вставлять и заменять кадры;
доступны настройки задержки, disposal-метода и зацикливания;
есть параметры для изменения размера, обрезки, поворота и отражения;
поддерживается управление палитрой, дизерингом, прозрачностью и комментариями;
--info,--color-info,--extension-infoи--size-infoпомогают анализировать файл;gifdiffудобен для проверки визуального результата;программа обрабатывает файлы локально и не требует загрузки GIF в онлайн-сервис.
Минусы:
нет обычного графического интерфейса;
нужно понимать синтаксис командной строки;
ошибки в
--batchсразу меняют исходные файлы;после
--lossyи сильного сокращения палитры требуется ручная визуальная проверка;Gifsicle не записывает экран и не заменяет GIF-рекордер;
программа не предназначена для полноценного видеомонтажа;
часть сценариев с видео удобнее решать через FFmpeg или gifski;
на Windows требуется внимательнее работать с путями, кавычками и запуском
.exe.
Системные требования
Gifsicle — лёгкая консольная программа, но корректнее говорить не о гигабайтах памяти и требованиях к видеокарте, а о среде запуска и сборки. Подтверждённые требования и условия такие:
| Компонент | Требование или особенность |
|---|---|
| Основная программа | gifsicle запускается из командной строки |
| Основной формат | GIF |
| Сборка из исходников | нужен ANSI C compiler |
| Unix-сборка | ./configure, затем make |
| GitHub-исходники | при отсутствии ./configure используется autoreconf -i |
| Установка из сборки | make install устанавливает программу и man page |
| Windows-сборка из исходников | nmake -f Makefile.w32 для Visual C или nmake -f Makefile.bcc для Borland C++ |
gifview | требует X display; при сборке без X11 можно отключить через --disable-gifview |
gifdiff | можно отключить при сборке через --disable-gifdiff |
Графическая среда для gifsicle | не требуется |
| Оперативная память | зависит от размера и количества обрабатываемых GIF; для экономии памяти есть --conserve-memory |
Не стоит добавлять к Gifsicle требования уровня «современный процессор», «4 ГБ RAM» или «DirectX»: такие параметры не отражают специфику консольной утилиты. Для неё важнее доступность исполняемого файла, корректная оболочка, права на чтение и запись файлов, а при сборке — компилятор и инструменты сборки.
Сравнение с аналогами
Gifsicle часто сравнивают с другими инструментами для GIF и изображений, но эти программы решают разные задачи. Корректное сравнение строится не вокруг общего вопроса «что лучше», а вокруг сценария: оптимизация готового GIF, создание GIF из видео, запись экрана, пакетная обработка изображений или визуальное редактирование.
| Программа | Тип | Сильная сторона | Ограничение | Когда выбирать |
|---|---|---|---|
| Gifsicle | консольная утилита для GIF | оптимизация, кадры, палитра, задержки, пакетные команды | нет GUI | готовые GIF нужно сжать, разобрать, изменить или автоматизировать |
| ImageMagick | CLI-набор для изображений | конвертация, resize, crop, dither, draw, работа с множеством форматов | не специализирован только на GIF-анимациях | нужно обрабатывать разные форматы и строить общий графический конвейер |
| GraphicsMagick | CLI-набор для пакетной графики | пакетная обработка изображений, серверные сценарии | GIF-анимации не являются единственным фокусом | требуется массовая обработка изображений в скриптах |
| FFmpeg | мультимедийный CLI-инструмент | получение GIF из видео, фильтры palettegen и paletteuse | не фокусируется на точечном редактировании готового GIF | исходник — видеофайл, а не готовая GIF-анимация |
| gifski | GIF-энкодер | качественное создание GIF из кадров и видео с эффективными палитрами | не заменяет Gifsicle для замены кадров и анализа GIF | важнее качество кодирования новой GIF-анимации |
| EZGIF | веб-сервис | визуальные операции без установки | файлы обрабатываются через браузерный сервис | разовая задача без терминала |
| ScreenToGif | Windows-приложение | запись экрана, импорт GIF/видео, встроенный редактор, экспорт в GIF/APNG/WebP/video | не CLI-инструмент для автоматизации | нужно записать экран и вручную отредактировать анимацию |
ImageMagick подходит для широких графических преобразований: команда magick конвертирует между форматами, меняет размер, обрезает, размывает, дизерит, рисует, отражает и объединяет изображения. Gifsicle уступает ImageMagick по широте форматов, зато удобнее для внутренней структуры GIF-анимаций: кадров, задержек, loopcount, disposal-методов, оптимизации и палитры.
FFmpeg лучше выбирать, когда исходником является видео. Его фильтры palettegen и paletteuse используются для GIF-кодирования с палитрой. После получения GIF через FFmpeg Gifsicle часто остаётся полезным на финальном этапе: оптимизировать файл, уменьшить палитру или убрать лишние данные.
gifski ориентирован на качественное создание GIF из кадров: он использует возможности pngquant для эффективных межкадровых палитр и temporal dithering, создавая GIF с тысячами цветов на кадр. Gifsicle лучше подходит не для первичного высококачественного кодирования из видео, а для редактирования, оптимизации и анализа уже существующих GIF.
ScreenToGif находится в другой категории. Это приложение для записи выбранной области экрана, редактирования записи и сохранения результата как GIF, APNG, WebP или видео. Его удобно использовать на этапе захвата и ручной правки. Gifsicle удобнее после этого — для финального уменьшения веса, пакетной обработки или точной правки параметров.
Среди внутренних материалов по смежным инструментам полезны страницы ScreenToGif, GIMP, Paint.NET, XnView MP, Converseen, Avidemux, Shotcut и VSDC Free Video Editor. Эти программы закрывают задачи, которые Gifsicle не берёт на себя: визуальное редактирование, просмотр изображений, пакетную конвертацию разных форматов, монтаж и подготовку видео.
Отзывы пользователей и профильных изданий
Gifsicle редко обсуждают как массовое приложение для обычного пользователя. Его оценивают в техническом контексте: насколько хорошо он сжимает GIF, удобно ли встраивается в скрипты, насколько предсказуемо работает с кадрами и как ведёт себя при агрессивной оптимизации.
Softpedia описывает Gifsicle как open source CLI-инструмент для создания, редактирования и получения информации о GIF, а в карточке для Windows выделяет операции merge, batch и replace. В Linux-карточке доступны три скриншота, где программа показана именно через терминал, а не через графическое окно.
Технический автор Simon Willison выделяет Gifsicle как предпочтительный инструмент для оптимизации GIF-размера и описывает механизм уменьшения через хранение изменившихся областей кадров, сокращение палитры и lossy compression. Его пример с WebAssembly-оболочкой показывает характерную сильную сторону Gifsicle: ядро программы можно использовать не только напрямую в терминале, но и внутри другого интерфейса.
В практических обсуждениях пользователи чаще хвалят Gifsicle за степень сжатия и предсказуемость команд. Типичный рабочий пример — gifsicle -O3 --colors 48 --lossy, где цветовая палитра и уровень потерь подбираются под конкретный файл. Одновременно такие отзывы подчёркивают ограничение: чем сильнее уменьшение цветов и lossy-сжатие, тем заметнее ухудшение внешнего вида.
Усреднённое мнение пользователей сети можно свести к нескольким тезисам:
Gifsicle ценят за локальную обработку без загрузки файлов в сервисы;
программа хорошо подходит для автоматизации и повторяемых операций;
сжатие через
-O3,--colorsи--lossyтребует подбора параметров;отсутствие GUI воспринимается как главный барьер для новичков;

Windows-пользователи чаще сталкиваются с вопросами запуска и путей, чем с логикой самой обработки;
для создания GIF из видео многие используют связку FFmpeg или gifski, а Gifsicle оставляют для финальной оптимизации.

Этот скриншот полезен как визуальная расшифровка параметров Gifsicle для тех, кто не любит терминал: в интерфейсе показаны те же практические настройки, которые в консольной программе задаются через -O3, --lossy, --colors, масштабирование и дизеринг.
Практические сценарии использования
Для разработчика
Разработчику Gifsicle нужен при подготовке GIF-демо для README, документации, pull request и issue. Небольшая анимация быстрее загружается, меньше раздувает репозиторий и удобнее открывается на страницах проекта. Команда оптимизации легко добавляется в npm script, Makefile, shell-скрипт или CI-процесс.
Пример финальной оптимизации демо:
gifsicle -O3 --colors 128 demo.gif -o demo-optimized.gifЕсли демо содержит интерфейс с текстом, лучше начинать с -O3 без --lossy, затем пробовать --colors 128, и только после этого осторожно подбирать --lossy.
Для веб-мастера
Веб-мастеру Gifsicle помогает уменьшать GIF перед публикацией на сайте. Это особенно важно для страниц, где несколько анимаций размещены в инструкциях, обзорах или справке. Большой GIF влияет на загрузку страницы сильнее, чем статичная картинка.
Пример пакетной подготовки копий:
mkdir optimizedfor file in *.gif; do gifsicle -O3 --colors 128 "$file" -o "optimized/$file"doneДля сайта важно не только уменьшить размер, но и сохранить понятность анимации. Если GIF показывает интерфейс программы, нельзя слишком сильно размывать текст, иконки и меню.
Для технического автора
Технический автор использует Gifsicle для коротких GIF-инструкций: показать нажатие, переход между окнами, реакцию интерфейса или результат выполнения команды. В таком сценарии особенно полезны задержки и выбор кадров.
Увеличить задержку:
gifsicle --delay=80 input.gif -o slower.gifИзвлечь первый кадр как статичную заставку:
gifsicle input.gif "#0" -o cover.gifУдалить лишний стартовый кадр:
gifsicle input.gif --delete "#0" -o trimmed.gifДля дизайнера интерфейсов
Дизайнеру Gifsicle подходит для быстрых технических правок GIF: уменьшить размер, подрезать прозрачные края, изменить скорость, сохранить пропорции, проверить палитру. Для художественной правки кадров нужен редактор, но для сервисной обработки Gifsicle быстрее.
Обрезать прозрачные поля и оптимизировать:
gifsicle --crop-transparency -O3 input.gif -o trimmed-optimized.gifУменьшить ширину до 800 пикселей:
gifsicle --resize-width 800 -O3 input.gif -o width-800.gifДля системного администратора
Системный администратор использует Gifsicle как часть автоматизированного процесса. Например, каталог с GIF-файлами регулярно пополняется, а перед публикацией все файлы нужно уменьшить и сохранить в отдельную папку.
#!/bin/shmkdir -p optimizedfor file in incoming/*.gif; do base=$(basename "$file") gifsicle -O3 "$file" -o "optimized/$base"doneТакой сценарий не требует открытия графической среды. Gifsicle выполняет задачу одинаково при каждом запуске, поэтому его удобно использовать в серверных и пакетных процессах.
Частые ошибки при работе с Gifsicle
Запуск без выходного файла
Команда:
gifsicle -O3 input.gifвыводит результат в стандартный поток. Для обычного пользователя это не то, что нужно. Лучше явно указывать -o:
gifsicle -O3 input.gif -o output.gifИспользование --batch без копии
--batch изменяет файлы на месте. Для одиночной операции это удобно, но при массовой обработке можно испортить исходники. Безопаснее сначала сохранить результат в отдельную папку.
Слишком сильное уменьшение палитры
--colors 16 может хорошо уменьшить размер, но испортить градиенты, фотографии и интерфейсные элементы. Для технических GIF разумнее начинать с 128 или 64 цветов и проверять результат.
Агрессивный --lossy без просмотра
--lossy=80 и выше часто дают сильное уменьшение, но могут заметно портить картинку. Такой параметр нельзя использовать автоматически для всех файлов без проверки.
Замена кадра без --unoptimize
Оптимизированная анимация хранит не полные кадры, а изменения. При замене одного кадра следующие кадры могут стать некорректными. Безопасный порядок: --unoptimize, замена, затем новая оптимизация.
Неправильное экранирование #
Во многих оболочках # имеет специальный смысл. Поэтому кадры нужно брать в кавычки:
gifsicle anim.gif "#0" -o first.gifПутаница с --loopcount=0
--loopcount=0 означает бесконечное повторение. Для отключения зацикливания используется --no-loopcount.
Ожидание функций видеоредактора
Gifsicle не предназначен для нарезки видео, записи экрана, добавления титров, рисования стрелок и монтажа дорожек. Для записи и визуального редактирования лучше использовать ScreenToGif, видеоредакторы или графические программы, а Gifsicle — на этапе финальной оптимизации.
Безопасность и приватность
Gifsicle работает локально: пользователь обрабатывает файл на своём компьютере или сервере. Это важное отличие от онлайн-сервисов, где GIF загружается в браузерный инструмент или на внешний сервер. Для служебных GIF с интерфейсами, внутренними панелями, логинами, адресами или фрагментами документации локальная обработка снижает риск случайной передачи данных.
Открытый исходный код не отменяет базовую осторожность. Исполняемый файл нужно получать из доверенной среды, а команды с --batch запускать только в подготовленной папке. Gifsicle не спрашивает подтверждение перед перезаписью файлов, поэтому главная практическая опасность — не сетевой доступ, а ошибка пользователя в параметрах, путях или маске файлов.
Для автоматизации полезно разделять входные и выходные каталоги:
source/optimized/archive/Такой порядок защищает исходные GIF от случайной перезаписи и упрощает откат.
Кому подходит Gifsicle
| Пользователь | Подходит ли Gifsicle | Почему |
|---|---|---|
| Новичок без опыта терминала | ограниченно | нужно освоить команды, кавычки и параметры |
| Разработчик | да | легко встроить в скрипты и документацию |
| Веб-мастер | да | удобно уменьшать GIF перед публикацией |
| Технический автор | да | полезны resize, delay, frame selection и оптимизация |
| Дизайнер | частично | подходит для технических правок, но не для визуального монтажа |
| Пользователь Windows, которому нужен GUI | ограниченно | Gifsicle запускается через консоль |
| Команда с CI/CD | да | обработка повторяема и автоматизируема |
| Монтажёр видео | как вспомогательный инструмент | для видеоисточника лучше FFmpeg или gifski |
| Пользователь онлайн-сервисов | частично | Gifsicle требует локального запуска, но не загружает файлы наружу |
Gifsicle выбирают не из-за красивого интерфейса, а из-за контроля. Он даёт прямой доступ к параметрам GIF, не скрывает операции за кнопкой Optimize и хорошо работает в повторяемых сценариях. Для разовой задачи без терминала удобнее визуальный редактор. Для регулярной обработки нескольких GIF Gifsicle становится заметно практичнее.
Лучшие рабочие команды для повседневных задач
| Задача | Команда |
|---|---|
| Оптимизировать GIF | gifsicle -O3 input.gif -o output.gif |
| Оптимизировать на месте | gifsicle -b -O3 input.gif |
| Уменьшить палитру | gifsicle -O3 --colors 128 input.gif -o output.gif |
| Включить lossy-сжатие | gifsicle -O3 --lossy=40 input.gif -o output.gif |
| Изменить ширину | gifsicle --resize-width 640 input.gif -o output.gif |
| Вписать в размер | gifsicle --resize-fit 640x360 input.gif -o output.gif |
| Извлечь все кадры | gifsicle --explode input.gif |
| Извлечь первый кадр | gifsicle input.gif "#0" -o first.gif |
| Удалить кадр | gifsicle input.gif --delete "#0" -o output.gif |
| Заменить кадр | gifsicle --unoptimize input.gif --replace "#1" frame.gif -O2 -o output.gif |
| Задать задержку | gifsicle --delay=50 input.gif -o output.gif |
| Включить бесконечный цикл | gifsicle --loop input.gif -o output.gif |
| Убрать комментарии | gifsicle --no-comments input.gif -o output.gif |
| Посмотреть информацию | gifsicle --info input.gif |
| Посмотреть палитры | gifsicle --color-info input.gif |
Эти команды покрывают большую часть повседневных задач. Для сложной обработки их можно комбинировать: изменить размер, сократить палитру, включить оптимизацию и сохранить результат в новый файл.
Пример комплексной команды:
gifsicle --resize-width 640 -O3 --colors 128 input.gif -o output.gifДля более агрессивного уменьшения:
gifsicle --resize-width 640 -O3 --colors 96 --lossy=40 input.gif -o output-small.gifПосле такой команды нужно открыть файл и проверить, не пострадали ли текст, иконки, градиенты и прозрачность.
Итог: стоит ли использовать Gifsicle
Gifsicle стоит использовать, когда нужна точная локальная обработка GIF через командную строку: оптимизация размера, пакетная обработка, изменение кадров, управление задержками, настройка зацикливания, ресайз, палитра и анализ структуры файла. Программа особенно полезна разработчикам, техническим авторам, веб-мастерам и тем, кто готов один раз настроить команду и применять её много раз.
Для разовой визуальной задачи без терминала удобнее ScreenToGif, EZGIF или графический редактор. Для создания GIF из видео лучше начать с FFmpeg или gifski. Для обработки разных форматов изображений шире подходит ImageMagick. Для финальной оптимизации готовой GIF-анимации, проверки кадров и автоматизации Gifsicle остаётся одним из самых практичных инструментов в своей нише.
Список изменений
Ранний этап: портируемость, Windows и базовая работа с GIF:
- В конце 1990-х развитие Gifsicle включало улучшения Windows-порта, переход к конфигурации через config.h и исправления в GIF-библиотеке. В ветке 1.9.2 программа стала компилироваться на Windows из коробки, а порт поддерживался Emil Mikulic. В этот же период исправлялись ошибки объединения GIF с global colormaps, оптимизации с local color tables, обработки background disposal и логического экрана.
- Ветка 1.10 закрепила сборку gifview по умолчанию, а в 1.11 появились --scale XFACTORxYFACTOR , улучшения --resize для анимаций и меры против прыгающего дизеринга в соседних кадрах. Это важный этап: Gifsicle начал не просто склеивать и оптимизировать GIF, а аккуратнее работать с тем, как анимация выглядит во времени.
Развитие resize, crop и памяти:
- В 2000–2002 годах Gifsicle получил параметры --resize _xH , --resize Wx_ , --resize-width , --resize-height , --crop-transparency , --conserve-memory и --multifile . Эти изменения расширили практические сценарии: стало проще уменьшать GIF по одной стороне, обрезать прозрачные края, работать с крупными изображениями и передавать несколько GIF через стандартный ввод.
- --multifile особенно полезен для скриптов. Он позволяет читать как можно больше GIF-изображений из одного файла или потока и объединять их в анимацию. Это не функция для ручного визуального редактирования, а механизм для автоматизированной обработки.
Стабилизация оптимизации и совместимости:
- С 2003 по 2010 год в истории Gifsicle много исправлений, связанных с --crop , --disposal=previous , --crop-transparency , -O2 , полностью прозрачными кадрами, logical screen и чтением больших изображений. Эти изменения важны для качества результата: GIF-анимация может выглядеть правильно только при точной обработке disposal-методов и прозрачности. Ошибка в одном кадре способна испортить несколько следующих кадров.
- В этот период также появился --careful , который создаёт немного более крупные GIF, зато помогает обходить проблемы некоторых реализаций GIF. В мануале этот параметр описан как способ получить файлы, которые лучше отображаются в отдельных старых или проблемных просмотрщиках.
Усиление оптимизации: появление -O3:
- Заметный этап — добавление уровня -O3 . Он применяет несколько эвристик с прозрачностью и выбирает лучший результат. Позже -O3 улучшался, но в истории прямо фиксировалось, что новый результат в отдельных случаях может быть больше старого. Это объясняет практическое правило: Gifsicle нужно использовать с проверкой размера, а не считать один параметр универсальным решением.
- Параллельно развивались --resize-fit , обратный порядок кадров через спецификации вроде #2-0 , -Okeep-empty и обработка frame selections в batch mode. Эти функции сделали Gifsicle удобнее для тонкой сборки анимаций и пакетного редактирования.
Улучшение цвета, дизеринга и масштабирования:
- В 1.77 появились крупные улучшения выбора цветов при уменьшении colormap size: gamma-corrected colors, улучшения dithering и ordered dithering modes. В 1.79 были добавлены методы масштабирования mix , box , catrom , mitchell , lanczos2 , lanczos3 , а также --resize-colors , который позволяет расширять палитру при уменьшении изображений с малым количеством цветов.
- Этот этап важен для качества GIF после изменения размера. Простой ресайз может испортить края, текст и мелкие элементы. Gifsicle получил методы, которые учитывают больше входных пикселей и дают более аккуратный результат при уменьшении.
Производительность, безопасность и lossy-сжатие:
- Поздние ветки усилили производительность и безопасность. В 1.89 добавлены SIMD support и thread support для resize, а также исправлены crashes и undefined behaviors. В 1.91 закрывались security bugs with malicious GIFs. В 1.92 добавлен --lossy , разработанный Kornel Lipiński. В 1.93 исправлена security bug в отдельных resize-операциях с --resize-method=box и проблемы с GIF без colormap.
- В 1.96 изменилась логика --lossy : цветовые ошибки измеряются в выбранном цветовом пространстве через --gamma , добавлены --gamma=oklab , --dither=atkinson и --use-exact-colormap . Это развитие показывает, что Gifsicle продолжает уточнять не только механическое сжатие, но и качество цветовых преобразований.


Оставте свой отзыв о Gifsicle