如何用ImageMagick压缩gif图像的大小?

时间:2011-12-20 16:49:24

标签: imagemagick

我想用convert命令减小gif图像的大小。目前,我使用标记-depth 8-type Grayscale-depth 8-resize '400x300>'

我还要确保在源图像文件名后用[0]去除任何GIF动画的第一帧。

但文件有时仍然太大(超过100K)。即使我牺牲分辨率,我也想尽量让它们变小。我怎么能这样做?

4 个答案:

答案 0 :(得分:50)

convert test.gif -fuzz 10% -layers Optimize result.gif

添加-fuzz 2%产生了更好的优化,但仍然不是很好。 at -fuzz 15%它将帧优化的差异与我之前提到的可见色带变化隔离开来。 25%的差异几乎只是文本的变化。

最后是一个巨大的30%模糊因子(忽略该数字下面的颜色变化,它是否只对文本更改进行了优化。

答案 1 :(得分:22)

您可以尝试gifsicle

gifsicle -O3 old.gif -o new.gif

如果是动画,您可以尝试跳帧(参见how it works)。

答案 2 :(得分:0)

尝试使用选项:

  

-type Palette

这可能有助于减少你的gif文件大小,哦,我相信-depth 8只能用于png图像。

答案 3 :(得分:0)

magick.exe convert -resize 100x100 .\step1.jpg .\step2.jpg -delay 100 -loop 0 animation.gif

感谢内特。

//IMPORTANT: -resize should come first.
//BY DEFAULT: the aspect ratio will be locked with the longest dimension being set to 100px.
//GENERALIZATION: this order `magick convert 1st<input_file(s)> 2nd<switch(es)> 3rd<output_file>`.
//IMPORTANT-RELATED: `-delay` will not work on second brush!  Use `-set delay` for existing files.

也请确保刷新文件夹视图以确保您没有查看旧的输出文件:Windows资源管理器( F5 )。