TinyPng是一个支持压缩png和jpg图片格式的网站,通过其独特的算法(通过一种叫“量化”的技术,把原本png文件的24位真彩色压缩为8位的索引演示,是一 种矢量压缩方法,把颜色值用数值123等代替)可以实现在无损压缩的情况下图片文件大小缩小到原来的30%-50%
在做项目时我们经常会用到TinyPng来压缩我们的图片,可是多数情况下,我们都是都是到网站手动上传压缩再下载,然后再拷回到项目中去,流程还是挺麻烦的,做为新世纪的码农,这样的工作必须是要自动化的啊
于是就想搞个插件能批量处理项目中的图片,看到 Github 上已经有人写过类似的插件:TinyPIC_Gradle_Plugin,但是存在了以下一些问题:
- 不支持多模块
- 不支持多资源目录
- 在处理已经被压缩过的图片时只是根据文件名来简单的判断是否需要再次压缩
- 压缩图片任务依赖编译流程,每次编译项目都会跑这个任务
看作者已经很久不维护那个项目了,于是只好自己动手丰衣足食了,重新写了一个插件,改进了上面所提到的问题
Github 地址:TinyPngPlugin
欢迎 Start ,试用,并反馈问题