您可以使用ImageMagick来以各种方式转换图像,并且它应该能够很容易地做到这一点。首先,您可以分为几部分(original.png作为源图像,在这种情况下为32x32像素):
convert original.png -crop 32x32 parts-%02d.png
然后,您可以将其转换为动画(-loop 1如果您不希望它循环播放,请使用):
convert -loop 0 -page +0+0 ./parts*.png output.gif
导致:

第一个命令的输出PNG包含一个偏移量,因此,如果没有该-page +0+0选项,动画最终将如下所示:

您可以包括多种其他选项(主要在第二个命令中),例如-delayetc等-您还可以优化动画,使其更小(加载/渲染更快)-例如,从此处借用:
convert output.gif -fuzz 10% -layers Optimize optimised.gif
或使用gifsicle
gifsicle -O output.gif -o optimised.gif
编辑:如果框架是透明的,则可以通过添加
-dispose Background选项来设置要替换的框架,以便在加载下一个框架时将其丢弃:
上面的示例没有page选项,因此显示清晰
这样做的问题是,那时您可能无法最优化生成的图像-因此另一种方法可能是使帧不透明,以便下一帧覆盖前一帧。