其实我们从设计师那里得到的原图,如果压缩一下再用的话对于减少APP的体积及降低内存占用是很有帮助的,Tinypng就是一个在线图片压缩网站,经过测试它能在保证图片质量基本不变的情况下大幅减少图片的体积,它同时也提供了Developer API,于是我就基于它的API开发了一个很方便的DropZone插件——Tinify。

功能

实现的功能大致如下:

  • 支持拖动一张或多张图片进行压缩
  • 默认输出压缩后的图片路径与原图一致
  • 支持给压缩后的图片设置后缀,若不设置或为空则会用压缩后的图片去覆盖原图
  • 压缩多张图时显示压缩进度

如何使用

这里有一些使用注意点,Tinify与其它的DropZone插件一样,支持拖动与点击,但由于DropZone对自定义配置的支持不够好,所以我就用点击操作来触发一个自定义弹窗来设置压缩后的图片后缀了,当你点击Tinify的图标后会弹出一个输入框你可以设置你想使用的压缩图片后缀,如果你不想保留原图建议不用填,这样压缩后的图片就会直接盖原图了, 这个设置弹窗默认会在你第一次压缩图片时显示一次, 之后不再会自动弹出,如果你以后想修改就去点击图标手动触发弹窗,重新设置即可。
除此之外,你需要到tinypng的网站上去申请一个APIKEY(免费的)

效果如何

经过我的测试发现,如果设计师给你的原切图大小在2M的话,通常情况下压缩后大小能保持在1M以下,效果还是很明显的,而且肉眼看不出差距。这对于移动开发来说是很有帮助的,能大幅减小安装包的大小及应用的内存占用。好的东西是值的收费的,没错TinyPng的服务是收费,但可喜的是它每月有一定的免费额度(每个用户每月有500张的免费压缩次数)。

如何安装

前置条件 MAC上要安装python3,通过brew安装brew install python3,这样python3会被默认安装到/usr/local/bin/python3。通过其它方式安装也要确保在这个目录下。

Tinify是一个DropZone插件,所以你要先安装有DropZone,这是一个收费的MAC软件,但它对于提升工作效率是很有帮助的,特别适合程序员朋友使用,它的插件可以用Python或者Ruby语言开发, 通常情况下几行代码就能实现一个大大提升效率的小插件,大家可以根据自己的需要开发,总之,非常值得花钱去买。它的官网在Tinify插件我已经提交到了DropZone官网但等待测试中,大家可以到这里先下载, 下载完成后,解压后双击即可安装。

演示视频

视频我放在了A站, 这里没广告.

开放源码

DropZone的插件的源码都是开放的,Tinify的源码在这里, 欢迎提PR


版权声明

文章版权归本人所有,如需转载需在明显位置处保留作者信息及原文链接 !