项目瘦身,脚本批量压缩图片

在移动端,我们会在项目中使用大量的本地图片,这些图片会在一定程度上影响我们包的大小。我们肯定希望自己的局部图片越小越好,但前提是不能失真。

UI剪切图片后,我一般会用TinyPNG对图片进行压缩,然后再添加到项目中。

压缩的效果不均匀,肉眼感觉不到失真,而且一张图片反复压缩,最后会发现压不下去,挺好的。

在线图片压缩网站的缺点

最多20张图片,每张最多5M。

我们至少要有100个项目。如果我们有20个项目有20个项目,那就很麻烦了,还涉及到目录的问题。

以上网站压缩方法只适合UI开发几张图片,现在压缩,然后得到项目,不适合批量压缩。

Tinypng不仅提供网页在线压缩,还支持工具压缩。

工具压缩,一次性免费压缩500张,如果有一次性压缩500张以上的需求,是要收费的。

/开发者

那么,tinypng如何保证你不会压缩超过500张?

用邮件申请一个密钥,压缩的时候可以统计压缩的张数。

也就是说,一个邮箱一个月可以免费压缩500张图片。

他支持的平台还有很多。

Ruby,PHP,Node.js,Python,Java,。WordPress插件

这里我们使用Python

/开发者/参考/python

1.1.安装相关包。

如果tinify安装失败,请参考/p/3c71b9be3a51。我安装失败了,关于源码。

1.2,少量使用

就上面几个简单的句子,可以用来压缩一张图片。我们需要的是批量操作。

那就是根据目录找到所有要压缩的图片,蹂躏这个方法。

这里写了两个Python脚本。

FindAllImages.py

压缩图像. py

如果想检测压缩一条龙,直接运行CompressImages.py即可。

1,直接用上面的脚本压缩Assets.xcassets下的图片。

2.项目包中的图片是单独压缩的。

3.通过脚本搜索项目中存在的图片,并单独压缩。

真实项目压缩效果:压缩前12.4MB,压缩后5.4M。

脚本地址