Как сжать размер gif-изображений с помощью ImageMagick?

Я хочу уменьшить размер gif-изображений с помощью команды convert. В настоящее время я использую флаги -depth 8, -type Grayscale, -depth 8 и -resize '400x300>'.

Я также обязательно удалю первый кадр любых анимированных gif с [0] после имени файла исходного изображения.

Но файлы по-прежнему слишком велики (более 100 тыс.). Я хотел бы попытаться уменьшить их, даже если я пожертвую разрешением. Как я могу это сделать?

Ответы

Ответ 1

Я сам довольно новичок в сжатии gif файлов Imagemagick, но нашел этот сайт

http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi преобразует файлы gif в онлайн без кода.

Если вы хотите использовать код, почему бы не использовать

-quality 80% old.gif new.gif

Это должно уменьшить размер файла

Ответ 2

convert test.gif -fuzz 10% -layers Optimize result.gif

Добавление -fuzz 2% обеспечило лучшую оптимизацию, но все еще не очень хорошо. At -fuzz 15% Он изолировал различия для оптимизации фрейма только для видимых изменений цветовой полосы, которые я заметил ранее. При 25% различия были почти просто изменения текста.

Наконец, при массивном 30% -ном fuzz-факторе (игнорируйте изменения цвета ниже этой цифры, оптимизировали ли они только изменения текста.

Ответ 3

Вы можете попробовать gifsicle:

gifsicle -O3 old.gif -o new.gif

Если это анимация, вы можете попробовать пропустить кадры (посмотрите, как это работает).

Ответ 4

Попробуйте использовать параметр:

-тип палитры

Это может помочь уменьшить размер файлов в формате gif, о, и я верю, что -depth 8 можно использовать только для изображений png.