переход между несколькими изображениями с помощью ImageMagick с переходами - PullRequest
0 голосов
/ 18 марта 2019

Я новичок в ImageMagick и наивно хотел бы найти команду, которую я могу запустить, чтобы создать слайд-шоу из нескольких изображений JPEG с одинаковым переходом затухания между всеми изображениями.

Я просмотрел несколько учебных пособий / форумов, но смог найти только примеры переходов между 2 изображениями, а не 3, 4 или 5 изображениями и т. Д.

У меня есть 5 изображений (01.jspeg, 02.jpeg, 03.jpeg ... и т. Д.), Которые я хотел бы превратить в слайд-шоу. Мне бы хотелось, чтобы у слайд-шоу был одинаковый переход затухания между каждым изображением. Я пробовал командную строку ниже, но она не работает, как ожидалось!

convert  01.jpeg 02.jpeg 03.jpeg 04.jpeg 05.jpeg -loop 0 morph 9 -set delay "%[fx:(t>0&&t<n-1)?10:320]" output.gif

Я предполагаю, что приведенный выше код состоит в том, что gif будет создан из слайд-шоу из 5 изображений с плавным переходом между ними. но это не результат поведения.

Я опытный разработчик, но у меня нет опыта работы с ImageMagick.

Может кто-нибудь, пожалуйста, дайте мне знать, что я неправильно понимаю о том, как работает ImageMagic! Спасибо!

Я предполагаю, что предоставленный аргумент morph применяется ко всем переходам ... это не правильно?

1 Ответ

1 голос
/ 18 марта 2019

Я не уверен, что вы пытаетесь сделать с вашей задержкой. Возможно, вы можете объяснить. Но это не однородно. Многие зрители анимированных GIF не справятся с задержками, которые меняются. Они работают лучше одной задержки.

Это прекрасно работает для меня, чтобы сделать равномерную задержку с помощью ImageMagick 6.9.10.34 Q16 Mac OSX и просмотреть его в Safari.

Изображения:

enter image description here

enter image description here

enter image description here

convert -delay 50 lena.jpg mandril3.jpg zelda1.jpg -morph 9 -loop 0 test.gif


enter image description here

Это то, что я получаю от вашей задержки, которая начинается очень медленно, а затем заканчивается очень быстро. Заметьте, что задержку -set я ставлю сразу после чтения ввода и перед -morph. Это работает так, как вы хотите в вашей команде?

convert lena.jpg mandril3.jpg zelda1.jpg -set delay "%[fx:(t>0&&t<n-1)?10:320]" -morph 9 -loop 0 test2.gif


enter image description here

...