Pau*_*aul 3 python animation imagemagick animated-gif
我有一个动画gif,我想循环n次(animation.gif).在循环之后,我想显示一个静态图像(static.gif).动画将显示在Web上,因此文件大小必须尽可能小.
我尝试通过添加零延迟的静态图像来实现Imagemagick ...
convert -loop 3 animated.gif -delay 0 static.gif newanim.gif
Run Code Online (Sandbox Code Playgroud)
尽管最后显示的是静态图像,但问题是在每次迭代后,static.gif会显示为瞬间.
我尝试的另一件事是添加动画3次,最后添加静态图像.这很好用,但是文件变得太大,特别是如果动画很长,并且它被循环多次.例如,6.1mb的动画变为~18mb.
convert -loop 1 animated.gif animated.gif animated.gif static.gif newanim.gif
Run Code Online (Sandbox Code Playgroud)
我在Linux环境中使用Python来实现这一点,所以如果有程序化的方法来做这个而不是Imagemagick也可以.
编辑:我没有提到约束:它需要在没有任何客户端编程(Javascript,CSS等)的情况下工作.它需要是一个纯粹的GIF解决方案.这个约束使它与如何从循环中停止动画gif有所不同
不,你不能.GIF动画格式不提供该功能.
有多种方法可以在网页上执行您想要的操作,但是您需要为静态图像创建单独的文件,并且您需要一些代码(例如JavaScript或CSS)来显示静态图像所需数量的动画循环.