将图像转换为 gif 时保留图像大小

将图像转换为 gif 时保留图像大小

我在一个文件夹中有一堆 (1761) 张照片,我想将它们转换为 gif。它们大小各异,我想保留这些大小。

我发出了生成动画 gif 的命令convert -delay 1000 -loop 0 *.jpg animated.gif ,但所有图像尺寸都缩小到 250px x 140px。我该如何制作动画 gif,并让命令convert忽略图像尺寸不同的事实?

使用convert不是必需的,这只是我通常使用的。我似乎记得以前它能正常工作,但现在不行。

第一个图像尺寸是:927x1200px,这是最大的一个,我认为它会将其用作所有图像的尺寸。

答案1

完成此操作的一种方法是先将 .jpg 图像转换为相同大小,然后创建动画 gif。

例如:

mkdir CONVERTED
for i in *.jpg; do convert $i -size 927x1200 xc:black +swap -gravity center -composite ./CONVERTED/$i; done
convert -delay 1000 -loop 0 ./CONVERTED/*.jpg animated.gif

这样做的目的是:对于每个图像,在子文件夹 CONVERTED 中创建大小为 927x1200 的新图像,保持图像的大小,并用黑色边框将其置于中心。

如果您确实希望以某种方式调整图像大小以使其适合输出大小,您也可以调整它们的大小:

for i in *.jpg; do convert "$i" -resize 927x1200 -size 927x1200 xc:black +swap -gravity center -composite ./CONVERTED/"$i"; done

photofilmstrip您可能不想制作动画 gif(可能会变得非常大),而是想要使用(转换后的图像)来创建电影。

相关内容