开发一个 TinyPNG 图像压缩桌面端工具,免费开源,无限制

TinyPNG 是一款深受前端工程师 喜爱的图片压缩工具,打开 http://tinypng.com ,将图批量拖拽至指定区域,图片即开始压缩。官方给出的数据显示,PNG 文件最高能减小 70%的体积。

不过网页端压缩有单张图片 5M 的限制。所以推荐一个免费开源的 TinyPNG 桌面端工具,支持一键拖放,没有单次压缩数量限制,可显示上传下载进度,小巧快速。希望各位给个星星支持下,GitHub 和安装包下载地址见文末。

image1
image2

Github地址:GitHub - chenjing1294/TinyGUI: TinyGUI is a visual implementation of TinyPNG that helps you quickly compress images.
安装包下载地址:Redis Assistant - Redis可视化管理与监控工具

4 个赞

可能我不是前端,这些深受喜爱的东西我都不知道

还是比较喜欢本地的

vscode不是有TinyPNG的扩展吗?

用起来还是不错。

1 个赞

可以的话去github给个星星支持下呗,这是我继续维护该项目的动力

是的,这里有这种类型的扩展,TinyPNG – 第三方解决方案

講一下我所理解的「圖片瘦身」。

首先,談下jpg與png的區別。據我理解,jpg是「數據檢索」,png是「色值檢索」。

在圖檔數據中,A字符出現了幾次,在哪些地方,jpg就總結起来,因此它是數據檢索。在導出jpg時,會出現一個壓縮率,也就是你想檢索百分之幾的字符。一般認為70%以上,人眼看来就足夠清晰了。

因此,jpg的降低尺寸就很簡單,改變壓縮率即可,很多軟件都有這個功能。

但是很少有軟件提供png降低尺寸,為甚麼呢?

因為png是色值檢索,也就是說,它把色值出現在哪裏都總結起来。因此,如果要降低png圖片體積,就降低色值檢索數量

拿gimp舉例,gimp打開一個png圖片,基本上「模式」都是rgb,也就是256色。這時,你把它調到Index,再降至48色,體積立即降了很多,而且原圖基本看不出區別。

上面的tinyPNG,或者任何能降低png體積的軟件,用的都是這個方法。

這裏我推薦一個免費開源的手機app,7-zip,它本身集成了各種小工具,包括一個文件瀏覽器。它還內置了crop和resize圖片,真的非常實用。

我拿7-zip跟tinyPNG比較,一張305k的圖片,7-zip減至113k,tinyPNG減至109k,可說旗鼓相當。由於7-zip不用聯網,在手機本地使用方便,因此它就是我降低圖片體積的首選。


對於一般人而言,可能不會去糾結幾百k的大小,然而對於用最低價格購買主機的博主而言,他是kk必較。

2 个赞

png压缩也要用网页版了吗?我以前都用optipng,现在用oxipng,没有任何限制,在github上都可以搜到。
不过这两个都是无损压缩,压缩比应该比不上tinypng

png壓縮應該都是有損的,比如#556555跟#556556色值相近,就壓成同一色值。這在人眼看是無損,對電腦而言是有損的。

optipng的原理是:1.暴力测试png内部的zlib压缩参数,挑选压缩结果最小的那个输出png文件;2.删除不必要的metadata。不对原始图像色值做任何修改

感謝指教,我不太懂zlib壓縮參數是做甚麼的。我只是根據png的壓縮原理,認為它是不能無損壓縮的。

後面我去查了一下,zlib就是調用色值的壓縮方法。更改壓縮參數之後是能找到一個使文件體積最小的參數。

感謝指教!

这个可以,方便了一些手残党的特殊群体,总有一些人上传证件照的时候,文件太大