我将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之间的性能有何不同?
答案 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图像的专用工具。