想寻找一款压缩图片大小的库。
背景: 我是用 vscode 中使用 paste image 给自己的 markdown 插入截图,大部分是 png 图,有些比较大需要压缩一下。
我谷歌搜索了一些压缩图片的方法:
pic.save("a.png",optimize=True,quality=80)
压缩, 35K 能到 27K ,压缩效率不太高( png quality 再降低不会有影响了)p.save('a.png.webp', 'webp', optimize = True, quality = 88)
35K 压缩到 15K, 质量刚好能接受,不过体积希望尽可能小p.save('a.png.webp', 'webp', optimize = True, quality = 50)
到 8k 图片质量有点糊了,不理想。8-bit/color RGBA
转成了 8-bit colormap
有更好的离线方案、库吗?
1
zcf0508 2022-07-02 19:53:46 +08:00 via Android 1
|
2
dcsuibian 2022-07-02 19:55:15 +08:00 1
Squoosh ?
|
3
sommio 2022-07-02 20:05:21 +08:00 via Android 1
jpeg: imagemagick, graphicsmagick
webp: google/libwebp |
4
a132811 OP 看起来 Squoosh 可以,离线并提供 api
|
5
kkocdko 2022-07-02 20:53:48 +08:00 1
我的方案是,先使用 pngquant 有损压缩(优化色板),再使用 cwebp 无损压缩为 webp 图片。
成品如图: https://kkocdko.site/res/20210612-0010-001.webp ,按下 F12 可以看到图片体积。 上边提到的工具: https://github.com/kornelski/pngquant https://chromium.googlesource.com/webm/libwebp |
6
foam 2022-07-02 23:15:57 +08:00
可以试试 libvip. python 对应的 binding 应该是 https://github.com/libvips/pyvips
|
7
thedrwu 2022-07-02 23:31:42 +08:00 via Android
pngout ,但是效果不如 tinypng
|
8
littleJohn 2022-07-02 23:39:55 +08:00 1
我一直在用 utool
|
9
abcyuxue123 2022-07-02 23:41:29 +08:00
tinypng +1
|
10
ByteCat 2022-07-03 00:17:20 +08:00
Squoosh ,Google 开源的方案,用了很久了感觉还可以
|
11
AItsuki 2022-07-03 01:09:35 +08:00
换一个截图工具?例如 Snipaste ,可以设置截图的质量。
|
12
mikewang 2022-07-03 01:12:56 +08:00 1
JPEG 压缩:mozjpeg ,支持无损压缩优化(输入输出均为 JPEG )
PNG 压缩:pngquant ,使用该技术的有 tinypng.com https://squoosh.app 使用 WebAssembly 集成了以上工具,可以在前端完成压缩操作。 |
13
zhuweiyou 2022-07-03 07:42:10 +08:00
我在线用 tinypng, 离线用 pngyu
|
14
soraginko 2022-07-03 07:54:51 +08:00 via Android
squoosh 超好用
|
15
610915518 2022-07-03 10:01:54 +08:00
如果对图片质量要求不那么高,png 转成 jpg 更好
|
16
dingdangnao 2022-07-03 11:49:20 +08:00
只有我一个人在用 pp 鸭么😂 https://ppduck.com
|
17
iyour 2022-07-03 11:50:52 +08:00
https://www.photofun.cn/compress/,同样采用 squoosh 实现的完全基于本地处理的图片压缩工具
|
18
iyour 2022-07-03 11:51:41 +08:00
|
19
kergee 2022-07-03 12:43:19 +08:00
PPDUCK
|
20
loginv2 2022-07-03 14:18:27 +08:00
|
21
Dvel 2022-07-03 15:19:29 +08:00
$ brew install webp
$ cwebp input_file.png -o output_file.webp |
22
msg7086 2022-07-03 15:42:58 +08:00
不同的图片压缩方法是不同的。
照片类颜色丰富的图片,走图片压缩算法,JPG WEBP HEIC AVIF 等等。 截图类颜色单一的图片,走调色板压缩算法,比如 PNG8 这样的。 |
23
Serino 2022-07-03 16:07:12 +08:00
我是用 Pinga 这个软件 png 压 webp ,选 lossy ,默认 80%的质量,最高压缩率
不知道为何 Pinga 压出来的 webp 图片质量比 Pillow 、OpenCV 或者 webp2jpg 要好, 用 Pillow 、OpenCV 或者 webp2jpg 转 jpg 或者 png 成 webp ,会丢失很多细节, 而 Pinga 选 lossy 和默认的 80%质量,压出来得 webp 和选无损压缩几乎没差,放大图片仔细看,噪点细节都还在,但图片大小要小很多 可惜这个软件不支持 jpg 直接转 webp ,我只能写了个 Python 脚本用 OpenCV ,先 jpg 无损转 png ,再转 webp |
24
moult 2022-07-03 16:35:16 +08:00 via iPhone
用微信发一下就好了,压到你怀疑人生。
|
25
May725 2022-07-03 19:42:14 +08:00
|
26
Showfom 2022-07-04 00:11:22 +08:00
|
27
9Tpsaajk9rdBKH2U 2022-07-04 05:34:14 +08:00 via iPhone
iUploader 是一个免费开源的七牛云上传工具,可直接返回上传文件的地址;可以用作图床工具,进行图片的分享,当然不仅仅是图片。
软件介绍: iUploader 主要功能将文件上传至七牛云,返回 Markdown 格式的链接到剪贴板 **引入 pngquant , 提高 png 图片的压缩比,减少流量的损失,快速完成图片的加载** https://ichochy.com/posts/20190822.html 二年前个人开发的,功能还不是很完善,有些小 bug ,等我买了新电脑,再更新。 GitHub 上也有源码。 |
29
jifengg 2022-07-04 13:40:20 +08:00
离线库同推荐 pngquant ,之前对比过好多命令行压缩 png 的,对比下来还是 pngquant 最好。
他是有损的,是所谓的“视觉无损”,也就是肉眼几乎看不出差异。 |
30
ArvinLiu 262 天前
|