代码之家  ›  专栏  ›  技术社区  ›  user2145312

使用ImageMagick和Transitions在多个图像之间进行转换

  •  0
  • user2145312  · 技术社区  · 5 年前

    我不熟悉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工作方式的误解吗?谢谢!

    我假设所提供的变形参数适用于所有转换…这不正确吗?

    0 回复  |  直到 5 年前
        1
  •  1
  •   fmw42    5 年前

    我不知道你想怎样处理你的延误。也许你能解释一下。但它不是统一的。许多动画GIF查看器无法处理更改的延迟。它们在给定延迟的情况下工作得最好。

    使用ImageMagick 6.9.10.34 Q16 Mac OSX并在Safari中查看它,这对我来说很好。

    图像:

    convert-delay 50 lena.jpg mandril3.jpg zelda1.jpg-morp 9-loop 0 test.gif
    < /代码> 
    
    

    这就是我从你的延迟中得到的,它开始得很慢,然后很快结束。注意,我把-set延迟放在读取输入之后和-morp之前。你的命令行得通吗?

    convert lena.jpg mandril3.jpg zelda1.jpg-set delay“%[fx:(t>0&t<n-1)?10:320]“-变形9-循环0 test2.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延迟放在读取输入之后和-morp之前。你的命令行得通吗?

    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