我有五张 GIF,它们的帧数和帧速率都相同。是否可以将这些蒙太奇组合成一个 gif,其中每一帧都类似于静态图像的正常蒙太奇,并且是 gif 中的下一帧。此外,我想要第一行的前两张 gif,然后是一个空格,然后是最后三张 gif。
答案1
如果我没理解错的话,您想要一张看起来像 5 个 gif 动画并行播放的 gif 动画,对吗?
图像魔法可以做到这一点(以及更多)。甚至可能只用一行代码,但我会分几个步骤来完成。假设您的 gif 被称为anim1.gif
...anim5.gif
并且每个都是 100x100 像素。
#Combine anim1.gif and anim2.gif (first row)
convert anim1.gif -repage 200x100 -coalesce null: \( anim2.gif -coalesce \) -geometry +100+0 -layers Composite anim1+2.gif
#Combine anim3.gif and anim4.gif (1st part of last row)
convert anim3.gif -repage 200x100 -coalesce null: \( anim4.gif -coalesce \) -geometry +100+0 -layers Composite anim3+4.gif
#Combine anim3+4.gif and anim5.gif (last row)
convert anim3+4.gif -repage 300x100 -coalesce null: \( anim5.gif -coalesce \) -geometry +200+0 -layers Composite anim3+4+5.gif
#Combine all, leaving one in the middle empty
convert anim1+2.gif -repage 300x300 -coalesce null: \( anim3+4+5.gif -coalesce \) -geometry +0+200 -layers Composite anim_all.gif
该技术有更详细的描述这里(“分层组合”)
最终结果(带有来自 imagemagick 网页的动画示例)如下所示: