Уменьшение gif изображений (высоты и ширины в два раза) приводит к увеличению веса файла на 10%
Пробую под unix при помощи imagemagick уменьшать размеры gif изображений, к примеру с 400x400 до 150x150 в большинстве случаев вес файла увеличивается после конвертации на 10%. Пробую такую команду, с добавлением различных фильтров оптимизации, но все равно не помогает:
Неплохо бы увидеть gif с которым вы работаете.
Навскидку взял несколько своих гифов и провел конвертацию получил ожидаемый результат.
То есть вполне прогнозируемое уменьшение размера файла
Подозреваю, всё дело в том, что исходная картинка обладает небольшим количеством цветов, а после ресайза палитра сразу разрастается и соответственно, увеличивается и размер файла
ImageMagick очень сложный инструмент, которым нужно уметь пользоваться.
Ваш исходный gif имеет 153 цвета на каждый кадр.
При простом использовании convert без задания палитры вы получаете 256 цветов на кадр. Этим объясняется увеличение размера файла,
К сожалению, я не настолько хорошо владею ImgeMagick чтобы научить его делать автоматически оптимальный вариант для вашей задачи.
Потому рекомендую использовать вам gifsicle для этих целей
gifsicle -O4 --resize 190x190 ./test.gif -o ./test2.gif
В догонку, у gifsicle есть параметр --colors в котором вы можете в ручную подобрать колличество цветов которые вас устроят
например с вашим файлом
gifsicle -O4 --resize 190x190 --colors 100 ./test.gif -o ./test2.gif
дает результат 1.5Мб при внешне вроде бы схожем качестве.
Вообщем да, проблема была в палитре, гифсайкл даже не нужен, в конверте тоже можно палитру задать, рабочий вариант:
convert 81204073_0_b4769_4532d6eb_XL.gif -coalesce -thumbnail 190x190 -layers Optimize -colors 100 test190.gif
с 1.9 уменьшает до 1.5. Всем спасибо.