imagick压缩gif图片问题处理

之前处理gif时会碰到小缩图,模糊的情况。一直没有处理。

这次又有ios组同事反馈 1.8M的gif图片,压缩后大缩图比原图还大,竟然为6.3M 。并且动画显示有问题。无奈去官网论坛找人求助结合看官方文档解决了这个问题。

convert -quality 80 -resize ’980×735′ game.gif game2.gif

convert -quality 80 -resize ’980×735′ +repage game.gif game4.gif

貌似以上处理无用。

额外了解了:

+profile “*”或-strip 可以清除图片的exif信息,可以稍微减少一点大小。

convert +profile “*” -strip ymy.jpg ymy_profile.jpg

-rw-r–r– 1 www www 2748416 Nov 3 2012 ymy.jpg
-rw-r–r– 1 www www 2635308 Mar 31 14:56 ymy_profile.jpg
-rw-r–r– 1 www www 2635308 Mar 31 14:56 ymy_profile_strip.jpg
-rw-r–r– 1 www www 2635308 Mar 31 14:56 ymy_strip.jpg

开始搜集资料:

google图片

http://my.oschina.net/jing31/blog/8218

ImageMagicK制作gif图片

http://www.netingcn.com/imagemagick-gif.html

ImageMagicK给图片瘦身

http://wangying.sinaapp.com/archives/846

中文手册

http://blog.sina.com.cn/s/blog_466678e80101etqk.html

ImageMagick常用指令详解

http://www.cnblogs.com/ITtangtang/p/3951240.html

官方
http://www.imagemagick.org/index.php
imagick论坛
http://www.imagemagick.org/discourse-server/index.php?sid=f20d42364bdc25ec000d1be4e7154110

identify game6.gif

百度处理:

http://d.picphotos.baidu.com/album/s%3D1000%3Bq%3D90/sign=1fb11ab505e939015202893e4bdc6f96/b219ebc4b74543a9e14e58591a178a82b80114c9.jpg

http://vi4.6rooms.com/live/chenlongtest/game.gif

http://vi4.6rooms.com/live/chenlongtest/game6.gif

identify game.gif
convert -resize ’980×735′ +profile “*” -strip +repage game.gif game6.gif
identify game6.gif
网友:
convert -resize 980×735 -layers Coalesce -layers Optimize game.gif g2.gif

官方:http://www.imagemagick.org/Usage/anim_mods/#resize

Resizing Animations 区域有比较详细的介绍

convert script_k.gif -coalesce -resize 20×20 script_k_direct2.gif
convert script_k.gif -coalesce -sample 20×20 script_k_sample.gif
convert game.gif -coalesce -resize 980×735 game_k.gif

convert game.gif -coalesce -resize 980×735 -layers Optimize game_k_op.gif

convert game.gif -coalesce -sample 980×735 -layers Optimize game_k_op_sample.gif

convert game.gif -coalesce -sample 234×176 -layers Optimize game_k_op_sample_s.gif
用线上的某个图片测试修复前后对比:

http://vi2.6rooms.com/live/2015/04/01/11/1001v1427857211885152619_s.gif

http://vi4.6rooms.com/live/2015/04/01/12/1001v1427861127972248455_s.gif
但是game.gif包含透明帧,缩图在邮件或在safari查看本地图片时显示有问题(在网页看不出来  在邮件或safari本地查看比较game_k_op_sample_s.gif 和 game_k_op_sample_s_t.gif可以看出来。)

完美方案 + 处理透明帧问题 给边框设置颜色并设置边框为0
convert game.gif -coalesce -bordercolor LightSteelBlue -border 0 -sample 234×176 -layers Optimize game_k_op_sample_s_t.gif
新测试结果
http://vi3.6rooms.com/live/2015/04/01/13/1001v1427865787216413903_s.gif

1.8M -rw-r–r– 1 www www 1.8M Apr 1 13:23 1001v1427865787216413903.gif

1.7M -rw-r–r– 1 www www 1.7M Apr 1 13:23 1001v1427865787216413903_b.gif

160K -rw-r–r– 1 www www 160K Apr 1 13:23 1001v1427865787216413903_s.gif

缩图比原图小,并且再小的图动画效果也和原图一样。

关于 Administrator

爱拼才会赢!
此条目发表在 Php 分类目录,贴了 , 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>