引言
经常进行自媒体文章写作的朋友们,可能会接触到GIF动图。一般的平台都会有一个限制,那就是图片的尺寸不能大于5M。
对于帧数不是太多的图片,这自然没有问题。而对于动辄十几秒的GIF动图。体积一般都不止这个数。
如果使用工具进行压缩,那么画质或者画面的尺寸就会变小,造成读者的直观感受很不好,那么有没有好的办法,可以做到无损压缩呢?这就是本文的重点。
工具
因为是程序员角度解决问题,那么我们自然把主要的功能放在编程,或者是使用命令行工具上面。所以一般ui或者前端使用的Photoshop等工具我们暂不使用。
对于一般的小白,使用命令行工具可以大大缩短操作执行的时间,而不必费尽心思安装动辄好几个G的Photoshop。
一般的电脑显卡不给力,或者是CPU算力不足。可能跑起来都会很卡。而一个命令行工具,只有几M,或几十M,这自然不成问题,一般的老旧电脑运行起来都畅行无阻。
下面这一张动图就是我们需要处理的原始文件。
gifsicle工具
这是一个用于操作GIF图像文件的工具。
它对透明度和色彩映射表操作、简单的图像转换(裁剪、翻转)以及创建、解构和编辑GIF动画都有很好的支持,还可以针对空间进行优化。
这是一个开源软件。当然了,你可以直接获取源码使用。下面我们直接用编译好的版本执行指令:
gifsicle -i anim.gif -O3 --colors 256 -o anim-opt.gif
上述命令的意思,就是将输入GIF文件图像所使用的颜色设置为256。这在色彩渲染细节较多的图片上,非常有用。
上面的动图文件,大小是 1.5 M。
现在我们降低颜色值到128色,执行以下指令:
gifsicle -i anim.gif -O3 --colors 128 -o anim-opt.gif
现在大小压缩到了 1.2 M,画质如下:
继续减小颜色值到64,压缩到了 1.1M ,图片如下:
再尝试颜色值32,图片体积减小到了 780K:
最后测试颜色值等于16,图片大小最终到了 536K,相当可观了:
这样的画质也完全满足我们的使用。
写在最后
本文通过gifsicle工具的使用演示了如何在尽量保证GIF图像清晰度的情况下降低图片体积。从最初的 1.5M 压缩到 0.5M 左右,体积缩小了 70%,大大减少了网络流量的消耗。
Happy coding :_)
我是 @程序员小助手 ,持续分享编程知识,欢迎关注。
领取专属 10元无门槛券
私享最新 技术干货