Существует много информации об обрезке изображений, но попытка обрезать (или обрезать) анимацию дает странные результаты. Иногда они мерцают или идут с дополнительными кадрами, или некоторые кадры обрезаются правильно, а другие становятся смещенными. Как я могу предотвратить все это?
Как обрезать анимированный gif с помощью ImageMagick?
Ответ 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
Он также может выполнять всевозможные другие операции. Проверьте это!