如何从命令行创建一个gif

我想从一组给定的.jpg图片制作一个.gif动画图片。

我更喜欢从命令行执行此操作,因此非常欢迎命令行工具。

您可以使用ImageMagick包。 使用以下命令安装它:

 sudo apt-get install imagemagick 

现在你可以使用以下命令从图片数量( jpg )创建一个gif

 convert -delay 20 -loop 0 *.jpg myimage.gif 

要完成@Maythux答案:

要避免生成非常大的文件,可以使用-resize选项:

在我的情况下,我有4608×3456图像,生成的gif超过300M的32张图像

 convert -resize 20% -delay 20 -loop 0 *.jpg myimage.gif 

要么

 convert -resize 768x576 -delay 20 -loop 0 *.jpg myimage.gif 

照顾* .jpg

*.jpg在处理数值时有点糟糕,你可能会生成带有未分类图片的gif。

 $ ls|cat 21-33-26_1.jpg 21-33-26_10.jpg // <--- this one 21-33-26_2.jpg 21-33-26_3.jpg 21-33-26_4.jpg 21-33-26_5.jpg 21-33-26_6.jpg 21-33-26_7.jpg 21-33-26_8.jpg 21-33-26_9.jpg 21-33-28_1.jpg // <--- should be here 21-33-28_2.jpg 21-33-28_3.jpg ... 

由于拍摄速度非常快(10 / s),因此它们都具有相同的修改时间,例如,您无法使用ls -t进行操作。 在ubuntu上你可以使用ls -v代替,例如:

 convert -resize 768x576 -delay 20 -loop 0 `ls -v` myimage.gif 

数字排序在Mac OS X上非常棘手,但我猜你需要构建一个自定义脚本。

我没有足够的声誉来评论,但您可以使用globbing来扩展文件名,而不是修改文件名

 convert -resize 50% -delay 10 -loop 0 image_{0..99}.jpg output.gif