macOS 下大多数人会推荐 ImageOptim,对于 Windows 电脑,ImageOptim 推荐使用 pinga,如果是 Linux,则推荐 Trimage。
以上三款软件都整合了多种开源图片压缩算法,可以实现无损、有损压缩,支持压缩 jpg、png、svg、gif 等格式的图片。
ImageOptim 还提供了 HTTP API 供用户调用以压缩图片,只在后端使用是免费的,我试了一下,在国内网络使用可能有点慢,有时会超时出错。
ImageOptim 压缩 png 如果觉得慢,可以停用 PNGOUT、Zopfli 算法。
pinga 有一个页面对比了多个无损 png 压缩算法的效率和速度,另一个开发者也对比了多个无损 png 压缩算法的效率和速度,同时加上了有损的 pngquant。
从测试结果来看,不同无损压缩算法的速度可能差异很大,但压缩的体积可能差异不大。另外,如果很在乎速度,可以用 pngquant,它比有损压缩快得多,虽然画质会有所下降。ImageOptim 开启有损压缩后,也会使用 pngquant。
以上是免费的图片压缩软件,付费的也有不少,例如 ppduck。
以上都是客户端软件,网页软件也有不少,例如 Squoosh、Recompressor,其中 Squoosh 是谷歌出品,但它一次只能选择一张图片,Recompressor 可以选择多张图片进行压缩。它们都是在浏览器本地压缩图片,不会上传到服务器。这类网页工具往往使用 WebAssembly 技术。
一个付费网页压缩软件:compressor。
另一个使用 WebAssembly 处理图片的网页工具是 photon,但它不是一款图片压缩工具。
WebAssembly 也经常用来处理 PDF:
使用 WebAssembly 的一个好处是可以让文件处理在浏览器本地进行,无需上传到服务器,不仅速度更快,还可以打消用户对自身数据安全的顾虑。
当然,即使不使用 WebAssembly,在浏览器本地处理 PDF 有时也能获得比较好的体验:
以上三个小工具使用 pdf-lib 而不是 WebAssembly,也可以获得不错的本地体验,作者也尝试了 PDF.js,但效果不好。
相关文章: