Подтвердить что ты не робот

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

Существует много информации об обрезке изображений, но попытка обрезать (или обрезать) анимацию дает странные результаты. Иногда они мерцают или идут с дополнительными кадрами, или некоторые кадры обрезаются правильно, а другие становятся смещенными. Как я могу предотвратить все это?

4b9b3361

Ответ 1

convert input.gif -coalesce -repage 0x0 -crop WxH+X+Y +repage output.gif
  • Анимированные gif файлы часто оптимизированы для экономии места, но imagemagick, похоже, не рассматривает это при применении команды crop и обрабатывает каждый кадр отдельно. -coalesce восстанавливает полные кадры.
  • Другие команды будут учитывать информацию о смещении, предоставленную в исходном gif, поэтому вам нужно заставить ее быть reset с -repage 0x0.
  • Сама культура является простой, с шириной, высотой, смещением x и смещением y соответственно. Например, растение 40 шириной и 30 высотой при смещении x 50 = 40x30 + 50 + 0.
  • Обрезка не удаляет холст, который он вырезал из изображения. Применение +repage после того, как обрезка сделает это.

Ответ 2

Даже с коалесценцией и репутацией я не мог получить ImageMagick, чтобы обрезать и изменять размер анимированных gifs очень хорошо.

Я нашел программу под названием Gifsicle, и она отлично работает для управления анимированными gif.

gifsicle --crop 0,0-100,100 --output out.gif in.gif

Он также может выполнять всевозможные другие операции. Проверьте это!