如何使用imagemagick制作高质量的动画图像

Mee*_*Mee 29 imagemagick

我想从那些.png图像制作动画GIF:

在此输入图像描述在此输入图像描述在此输入图像描述在此输入图像描述

我用这个命令做到了:

convert -layers OptimizePlus -delay 25x100 ps1-*.png -loop 0 ps1.gif
Run Code Online (Sandbox Code Playgroud)

它成功地制作了动画gif,但是输出的质量非常低,并且比输入图像小:

在此输入图像描述

经过一番搜索,我得到了质量

convert -layers OptimizePlus -delay 25x100 -quality 99 ps1-*.png -loop 0 ps1.gif
Run Code Online (Sandbox Code Playgroud)

但似乎imagemagick只是忽略了参数.

nwe*_*hof 42

问题是您的源PNG具有GIF不支持的Alpha通道.因此,您必须先从源图像中删除透明度.由于您正在处理多个源图像,因此无法使用该-flatten方法.使用较新的ImageMagick版本时,以下内容应该有效:

convert -background white -alpha remove -layers OptimizePlus -delay 25x100 ps1-*.png -loop 0 ps1.gif
Run Code Online (Sandbox Code Playgroud)

如果您的ImageMagick版本低于6.7.5,您可以尝试:

convert -bordercolor white -border 0 -layers OptimizePlus -delay 25x100 ps1-*.png -loop 0 ps1.gif
Run Code Online (Sandbox Code Playgroud)

我用后一个命令得到了以下结果:

动画