Magick vs.gifsicle-为什么在组合gif时会有如此不同?

时间:2018-11-01 19:24:38

标签: imagemagick gif gifsicle

我将3张约3M的gif组合成更大的gif。

到目前为止,我已经使用magick和convert来完成这项工作,但最终它们消耗了超过6G的RAM并被杀死(...)。

convert pic1.gif pic2.gif pic3.gif final.gif

在谷歌周围搜索我发现了gifsicle,最终在很短的时间内合并了我的三个gif,并且消耗了很少的内存...

gifsicle pic1.gif pic2.gif pic3.gif > final.gif

作为前端用户,我对这些工具的理解有限,但是转换(magick)和gifsicle之间的性能有何不同?

1 个答案:

答案 0 :(得分:2)

Gifsicle仅针对gif进行了特殊的优化。 ImageMagick是通用图像处理器,也不会优化gif。它的量化代码准确但缓慢。您的每个图像都需要量化为256色或更少。由于您的图像是Gif,因此它们已经被量化为256色或更小。但是每个可能使用不同的颜色集。在ImageMagick中,最好找到一组常见的颜色,然后使用-remap color_map_image将所有输入图像转换为相同的颜色。这将减小文件大小。您可以仅附加3个输入gif并获取颜色图图像的唯一颜色。您还可以添加-layers优化,以潜在地进一步减小文件大小。

convert pic1.gif pic2.gif pic3.gif \
+append +dither -colors 256 -unique-colors colormap.gif

convert \
\( pic1.gif +dither -remap colormap.gif \)
\( pic2.gif +dither -remap colormap.gif \)
\( pic3.gif +dither -remap colormap.gif \)
-layers optimize \
final.gif


但是,gifsicle可能仍然更好,因为它是仅用于gif图像的专用工具。

另请参阅https://imagemagick.org/Usage/formats/#gif_non-im