代码之家  ›  专栏  ›  技术社区  ›  Xavier Prudent

Magick和gifsicle为什么在组合gif时会有这样的区别?

  •  0
  • Xavier Prudent  · 技术社区  · 8 年前

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

    我在google中找到了gifsicle,它在很短的时间内把我的三个gif合并在一起,只消耗了很少的内存。。。

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

    作为一个前端用户,我对这些工具的理解有限,但是convert(magick)和gifsicle之间的性能怎么会如此不同呢?

    1 回复  |  直到 8 年前
        1
  •  2
  •   fmw42    8 年前

    Gifsicle只对gif进行特殊优化。ImageMagick是一个通用的图像处理器,不优化gifs以及。它的量化编码准确但速度慢。每个图像都需要量化到256色或更少。因为你的图像是GIF,它们已经被量化到256色或更少。但每种颜色可能使用不同的颜色。在ImageMagick中,最好找到一组常见的颜色,然后使用-remap color\u map\u image将所有输入图像转换为同一组颜色。这将减少文件大小。您只需附加3个输入gif,就可以获得颜色映射图像的唯一颜色。您还可以添加优化层以进一步减小文件大小。

    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
    


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

    推荐文章