在开发过程中我们为了减小安装包的体积,我们一般会把工程当中的图片资源文件进行压缩。
在添加图片的时候进行压缩是一个好习惯,但是对于工程当中的大量图片进行压缩替换是一个不小的工作量,而且还有可能不小心弄错,像这种大批量的重复性工作就需要写脚本来帮助我们完成了。
TinyPng&Shell
我们先来介绍我们今天的主角TinyPng,我相信许多开发人员都知道这个网站,TinyPng 凭借着优秀的压缩效率和压缩质量备受好评。同时它也提供了相应的 API 供我们使用,这也是为什么要使用它的原因。
不过 TinyPng 也有一个限制,单个账号每月最多压缩 500 张次图片,想要提高相应压缩数量需要付费,这也对脚本的批量压缩造成了一些限制,后面会做相应介绍。
shell 脚本就不过多的进行介绍了,网上的教程有很多,本文只会针对比较特殊的地方进行介绍。
实现思路
基本思路是从给定的文件夹下进行遍历查找,如果是图片,进行压缩,将压缩之后的图片下载进行替换,如果是文件夹的话则进入该文件夹下进行更深一层的遍历查找压缩。具体的可以查看脚本,代码如下:

