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

2022-01-22 10:17:33 +08:00
 likeunix

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

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

Github 地址: https://github.com/chenjing1294/TinyGUI 安装包下载地址: http://www.redisant.cn/#Family

6784 次点击
所在节点    程序员
48 条回复
jqtmviyu
2022-01-22 15:56:41 +08:00
kirile
2022-01-22 16:32:58 +08:00
我也写过一个 免费的虽然没大小限制但是有数量限制, 500 张 /月. 之前压缩安卓里的图片的时候, 一会配额就没了, 还借了个别人的号才压完
sbmzhcn
2022-01-22 16:39:04 +08:00
https://pngquant.org/ pngquant 远远达不到 tinypng 的压缩率,虽然它本身很优秀的,但 tinypng 压缩后的都比 pngquant 小,不知道 tinypng 用了什么算法,总是压缩成最小的。
likeunix
2022-01-22 16:39:51 +08:00
@kirile 是的,也就是个人偶尔用下,不能大规模商用,商用要 pro 版
muzuiget
2022-01-22 16:54:10 +08:00
@liuxu Github 的仓库地址中用户名已经是 namespace 了,哪里还有人会觉得是官方,自己的名字下项目爱用什么名字都行,只要用户名碰瓷官方名才有可能误导别人。
vsean
2022-01-22 17:20:36 +08:00
TinyPNG 我使用好多年了,同样画质体积最小,同样体积画质最好
leonard916
2022-01-22 18:47:24 +08:00
@maplerecall LimitPNG +1 虽然好久不更新了
zhangshine
2022-01-22 19:07:04 +08:00
目前用的 pngquant ,虽然没有 tinypng 小,但是足够了。
janus77
2022-01-22 19:31:22 +08:00
retrocode
2022-01-22 19:52:45 +08:00
说到这个我之前也用 electron 做了一个自用的压图工具,调的 imagemin 库,偶尔用来压图还蛮不错的

https://github.com/ShowMeBaby/electron-imagemin-tools
AthensBird
2022-01-22 20:42:41 +08:00
@zhangshine Tinypng 的质量损失比 Pngquant 大
kkocdko
2022-01-22 21:20:24 +08:00
1. pngquant 是目前最先进的 PNG 靠色工具,没有之一。详情请见 https://pngquant.org 。最近作者改进了算法,使用 Rust 重写,用类似算法对 GIF 也做了类似的优化。
2. pngquant 有许多参数可调,需要自行权衡质量,体积与算力。上边许多层主没有控制变量的比较,无异于"360 压缩-LZMA vs 7-zip-deflate",是没有可比性的。
3. 目前已知最强的 PNG 压缩方案是:pngquant 有损靠色 + zopflipng 无损压缩。
3. 题主这样一个调用 TinyPNG API 的工具,怎么说呢,从技术上来讲确实没有太大的突破。已经有更多更优秀的方案了。
icyalala
2022-01-22 22:26:29 +08:00
@kkocdko 大厂做移动开发的,总会遇到需要优化包大小的时候。
UI 素材至少我们尝试过非常多的方法,包括 ImageOptim 里面那些有损和无损方法,其中就有 pngquant 。
无损压缩即使优化级别再高,体积离 TinyPNG 都差很远;有损压缩在设计同学可接受的范围内,基本上体积都还是不如 TinyPNG ,而且压缩太过消耗时间。
superfatboy
2022-01-22 22:50:05 +08:00
有什么不需要第三方 api 的,推荐一个啊
likeunix
2022-01-22 22:56:15 +08:00
@superfatboy 你看看上边的评论啊
lemonda
2022-01-22 23:48:29 +08:00
这个对我非常有用
kkocdko
2022-01-23 02:47:07 +08:00
@icyalala

首先指出一点:我前边的表述可能有歧义,第 3 点的意思是 先 pngquant 后 zopflipng ,而不是分别进行。

我刚刚测试了一下,确实很难评判 TinyPNG 和 pngquant 2.17.0+zopfli 的胜负。我发现 TinyPNG 更偏向保持过渡(阴影)的连续性,而 pngquant 更偏向保持原本的颜色,于是就更容易出现断层。这可能是你认为 TingPNG 效果更好的原因之一,毕竟前端素材很多都带有阴影和渐变。

(当然这只是猜测,TinyPNG 不开源,啥也看不到)

“压缩太过消耗时间”,我不太理解你的意思,是说 zopfli 很慢么?我已经说过了,调参自行权衡,我猜测 TinyPNG 使用了较弱参数 zopfli ,因为测试发现 TinyPNG 处理后依然可以用默认预设 zopfli 压榨出一点点体积。
Maskeney
2022-01-23 06:12:12 +08:00
不过还是不懂为什么一个调用 API 的压缩图片的软件上来就要管理员权限

kkocdko
2022-01-23 07:18:42 +08:00
@Maskeney 这是安装程序,你可以直接拆包。
likeunix
2022-01-23 07:50:13 +08:00
@Maskeney 安装的时候需要管理员,安装完运行不需要管理员,或者你也可以自己编译源码。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/829856

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX