How to make a high quality animated image with imagemagick

imagemagick

I want to make an animated gif from those .png image:

enter image description hereenter image description hereenter image description hereenter image description here

I do it with this command:

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

It made an animated gif successfully, however, the output has very low quality and smaller than input images:

enter image description here

After some search, I got -quality

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

But it seems like imagemagick just ignore the parameter.

Best Answer

The problem is that your source PNGs have an alpha channel which is not supported by GIFs. So you have to remove transparency from your source images first. Since you're dealing with multiple source images, you can't use the -flatten method. With newer ImageMagick versions the following should work:

convert -background white -alpha remove -layers OptimizePlus -delay 25x100 ps1-*.png -loop 0 ps1.gif

If your version of ImageMagick is older than 6.7.5, you can try:

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

I got the following result with the latter command:

animation

Related Topic