从 GIF 到 PNG 的转换不起作用

use*_*743 3 imagemagick image-conversion

我正在寻找一种方法将动画 GIF 分解为组成它的图像,并发现许多线程推荐:

convert -coalesce Dijkstra_Animation.gif djik.png
Run Code Online (Sandbox Code Playgroud)

我运行了这个命令,但它失败了。它只产生一个文件 ( djik.png) 来启动,虽然它的扩展名是.png,但它实际上是输入的 GIF... 出了什么问题?如何将多帧 GIF 分解为单个帧?

Ana*_*man 7

正确的命令应该是:

 convert animated.gif output.png
Run Code Online (Sandbox Code Playgroud)

这将为动画 gif 的每一帧创建output-0output-1output-2等。

作为旁注,根据 GIF 的处理方式,您可能会或可能不会获得“完整”帧。某些 GIF 具有仅包含部分数据的帧。这些是您将用于-coalesce重建每个单独帧的 GIF 类型,即

convert -coalesce animated.gif output.png
Run Code Online (Sandbox Code Playgroud)

也就是说,您可能希望仔细检查您拥有的文件是否确实是动画 GIF。有趣的是,我曾在giphy.com上遇到过明显的转换错误(他们将“GIF”存储为视频)导致只下载了一个帧,即使它仍然具有 .gif 扩展名。