Как сжать размер 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.