项目瘦身,脚本批量压缩图片
在移动端,我们会在项目中使用大量的本地图片,这些图片会在一定程度上影响我们包的大小。我们肯定希望自己的局部图片越小越好,但前提是不能失真。
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。
脚本地址