一些方便的图片压缩方法:

  • 用 Squoosh 进行格式转换、压缩。

  • 用 TinyPNG 对 JPEG、PNG、WebP 的压缩。

  • 用 ImageOptim 进行本地的 JPEG、PNG 压缩。

  • 用 Google 的 WebP CLI 工具转换为 WebP。(速度最快,推荐)

Squoosh

可以直接在浏览器打开 https://squoosh.app/ 进行压缩,支持即时预览、格式转换和很多参数调节。

也可以用 Squoosh 的 CLI 在本地压缩或转换。

TinyPNG

支持 JPEG、PNG、WebP,压缩效果和 Squoosh 差不太多,但是速度快了很多。

可以直接在浏览器打开 https://tinypng.com/ 上传 - 压缩 - 下载。

点击导航栏的 THIRD-PARTY,下面也有一些第三方的客户端,比如这个 kyleduo/TinyPNG4Mac 就不错。

Compress PNG/JPG

https://www.websiteplanet.com/zh-hans/webtools/imagecompressor/

免费又方便的线上工具,可选三种压缩模式。

ImageOptim

https://imageoptim.com/

ImageOptim 也超棒,提供了 Windows/macOS/Linux 客户端,完全本地操作,但是不支持 WebP。

WebP

WebP 是 Google 于 2010 年 09 月 30 日推出的,同时提供了有损压缩与无损压缩(可逆压缩)的图片文件格式。WebP 的设计目标是在减少文件大小的同时,达到和 JPEG、PNG、GIF 格式相同的图片质量。压缩率很高,10M 的 PNG 图片转换成 WebP 只需要大约 1~2M,而肉眼几乎不可分辨的有损压缩能压到 500KB 左右。

主流浏览器均已支持,2020 年 9 月 Safari 14 也已支持。。。

可在 https://developers.google.com/speed/webp/ 上下载。

macOS 用户可以直接使用 Homebrew 安装,安装完成后即可使用 cwebpdwebpgif2webp 等命令:

  • cwebp:转换/压缩到 WebP
  • dwebp: 将 WebP 转回 PNG
  • gif2webp: GIF 转 WebP
$ brew install webp
...
$ cwebp [options] -q quality input.png -o output.webp
$ dwebp in_file [options] [-o out_file]
$ gif2webp [options] gif_file -o webp_file

默认的压缩率是 75%:

$ cwebp input_file.png -o output_file.webp

可以使用 -q 参数调整压缩质量:

$ cwebp -q 100 input_file.png -o output_file.webp

限定大小(bytes)的有损压缩:

$ cwebp -size 102400 input_file.png -o output_file.webp

WebP 转回 PNG:

$ dwebp in_file [options] [-o out_file]

还有一个 gif2webp 命令,由于 macOS 目前还不支持预览动态 WebP 图片,本地不能直接看到很费劲(只能看到第一帧),动图依然在用 GIF。


也可以写个小脚本,放进 Alfred 里,用起来很方便:

import sys
import os

q = 75

for file in sys.argv[1:]:
    dirname = os.path.dirname(file)
    filename = os.path.splitext(os.path.basename(file))[0]
    file = file.replace(' ', '\\ ',)
    filename = filename.replace(' ', '\\ ')
    os.system(f'cwebp -q {q} {file} -o {dirname}/{filename}.webp')
    sys.stdout.write(f'"{filename}.webp" done.\n')

2022-01-23

GUI 找到一个 isparta,但是两年多没更新了。