Я хочу преобразовать последовательность изображений в gif-анимацию, и я использую это:
convert -delay 100 -loop 0 image*.jpg animation.gif
Проблема в том, что для прозрачных изображений я могу видеть другие изображения под анимацией. Почему?
Например, с этими двумя изображениями:
В сгенерированной анимации GIF первое показанное изображение это «А», а второй, вместо «В», это
Я действительно не знаю, что здесь происходит, что я скучаю?
GIF-файлы не имеют прозрачных слоев. Все изображения должны иметь одинаковый цвет фона, например, голубой, и этот цвет указывается как цвет, который преобразуется в изображение в прозрачный. Вы передаете этот цвет для преобразования с помощью опции -transparent-color
.
Если вы используете опцию -dispose Background
, когда рамка добавляется на холст, он очистит фон до наложения следующего изображения. Например:
convert -delay 100 -dispose Background *.png anim.gif
Дополнительную информацию можно найти на странице Основы анимации документации ImageMagick.
Для меня эта работа правильно:
convert -delay 100 -dispose 3 -loop 0 image*.jpg animation.gif