使用imagemagick制作动画gif,它会放大我的图像并将每个帧放在角落里

时间:2014-01-13 03:53:38

标签: animation imagemagick

我想从这些帧.png图片制作动画gif:

enter image description here

我尝试做的是将其调整为较小的图像,将其分成4个部分,然后将其设置为动画。首先,我使用此命令调整大小并将其拆分

mogrify -resize 140x140 -crop 2x2@ ps1.png

返回4张图片似乎运作良好,如下:

enter image description here

现在,我用它来制作一个有生命的GIF:

convert -delay 25x100 -loop 0 ps1-*.png ps1.gif

但是它返回了这个混乱的图像,而不是猫哭:

enter image description here

顺便说一句,当成为GIF动画时,图像看起来更加锐利,无论如何都要阻止它吗?

1 个答案:

答案 0 :(得分:2)

每个角落的图像来自图像页面偏移。您可以通过针对identify实用程序运行生成的帧来查看此内容。

identify ps1-*.png

# ps1-0.png PNG 70x46 140x92+0+0 8-bit sRGB 4.24KB 0.000u 0:00.009
# ps1-1.png[1] PNG 70x46 140x92+70+0 8-bit sRGB 4.26KB 0.000u 0:00.000
# ps1-2.png[2] PNG 70x46 140x92+0+46 8-bit sRGB 4.39KB 0.000u 0:00.000
# ps1-3.png[3] PNG 70x46 140x92+70+46 8-bit sRGB 4.64KB 0.000u 0:00.000
#                        ^^^ ^^ ^^ ^^

要解决此问题,只需通过+repage运行提取的图像来删除分页偏移。

 mogrify +repage ps1-*.png

要动画制作GIF,请确保指定layers to be handled的方式。在这个例子中,我相信你会想要优化帧或加号。 Dispose& coalesce也可用于调整生成的动画。

convert -layers OptimizePlus -delay 25x100 ps1*.png -loop 0 ps1.gif

Crying cat