Преобразовать прозрачную последовательность изображений в GIF

Я хочу преобразовать последовательность изображений в gif-анимацию, и я использую это:

convert -delay 100 -loop 0 image*.jpg animation.gif

Проблема в том, что для прозрачных изображений я могу видеть другие изображения под анимацией. Почему?

Например, с этими двумя изображениями:

enter image description here enter image description here

В сгенерированной анимации GIF первое показанное изображение это «А», а второй, вместо «В», это

enter image description here

Я действительно не знаю, что здесь происходит, что я скучаю?

3
задан 25 December 2013 в 18:36

3 ответа

GIF-файлы не имеют прозрачных слоев. Все изображения должны иметь одинаковый цвет фона, например, голубой, и этот цвет указывается как цвет, который преобразуется в изображение в прозрачный. Вы передаете этот цвет для преобразования с помощью опции -transparent-color.

0
ответ дан 25 December 2013 в 18:36

Если вы используете опцию -dispose Background, когда рамка добавляется на холст, он очистит фон до наложения следующего изображения. Например:

convert -delay 100 -dispose Background *.png anim.gif

Дополнительную информацию можно найти на странице Основы анимации документации ImageMagick.

0
ответ дан 25 December 2013 в 18:36

Для меня эта работа правильно:

convert -delay 100 -dispose 3 -loop 0 image*.jpg animation.gif
0
ответ дан 9 October 2019 в 14:09

Другие вопросы по тегам:

Похожие вопросы: