Trimage 压缩图片是无损的吗?会删除哪些信息?

更新时间

Trimage 对 PNG 和 JPG 采用无损压缩,不会降低图片画质,但会移除 EXIF 和其他元数据。它按文件类型调用不同的优化工具:PNG 使用 optipng、pngcrush、advpng,JPG 使用 jpegoptim,并以可用的最高压缩级别处理。目前只支持 PNG 和 JPG 两种格式。

无损压缩的含义

“无损”指像素数据本身不被改写,压缩只发生在文件编码层面:去掉冗余的编码信息、重新组织压缩块,让文件变小而解码后的图像与原来一致。因此画质不会因为压缩而下降,但文件体积的缩小幅度取决于原图本身有多少可优化的空间——已经优化过的图片再压缩,收益可能很小。

需要注意,“无损”与“删除元数据”是两件事。像素无损,不代表文件内容完全不变。

会删除哪些信息

根据网站说明,Trimage 在压缩时会移除 EXIF 和其他元数据。这意味着:

  • EXIF:拍摄设备、拍摄参数、时间戳、GPS 位置等
  • 其他元数据:嵌入在文件中的附加信息

对网页用途来说,这通常是好事——元数据不参与显示,删掉能进一步减小体积,也能避免意外泄露位置等信息。但如果你需要保留版权信息、拍摄参数或色彩配置文件,就要先备份原图,再决定是否用 Trimage 处理。

按格式调用不同工具

Trimage 本身是图形界面和命令行的外壳,实际压缩交给底层工具完成:

文件类型 调用的优化工具
PNG optipng、pngcrush、advpng
JPG jpegoptim

这些工具各自擅长不同的优化策略,Trimage 把它们组合起来,在最高可用压缩级别下运行。你不需要分别安装和调用它们,但运行环境里需要具备这些依赖(见下文)。

支持范围与使用前提

目前仅支持 PNG 和 JPG。其他格式(如 GIF、WebP、SVG)不在处理范围内。

运行要求(来自网站 Requirements 部分):

  • Python 3
  • python-qt5
  • optipng 0.6.2.1
  • pngcrush 1.6.7
  • advancecomp 1.15
  • jpegoptim 1.2.2

安装方式按平台区分:

  • Debian(sid):sudo apt-get install trimage
  • Ubuntu:官方仓库提供,sudo apt-get install trimage
  • Arch Linux:从 AUR 安装,yaourt -S trimage
  • macOS:brew install trimage,之后在终端执行 trimage 启动
  • *其他 nix:通过 git 或 bzr 获取源码,装好依赖后执行 python setup.py install,再运行 trimage

输入方式与命令行选项

Trimage 提供多种输入方式以适配不同工作流:常规文件对话框、拖拽文件,以及命令行参数。

命令行选项(来自网站说明):

  • --version:显示版本号并退出
  • -h, --help:显示帮助并退出
  • -v, --verbose:详细模式(默认)
  • -q, --quiet:安静模式
  • -f FILENAME, --file=FILENAME:压缩指定图片后退出
  • -d DIRECTORY, --directory=DIRECTORY:压缩指定目录中的图片后退出

例如需要批量处理一个目录下的图片,可以用 -d 指向该目录,处理完即退出,适合放进脚本。单张处理用 -f。

怎么判断是否适合你

  • 适合:为网站准备 PNG/JPG 素材,希望减小体积、去掉元数据,且不需要保留 EXIF 或版权嵌入信息。
  • 需要谨慎:图片带有必须保留的元数据(如摄影作品的拍摄参数、色彩配置),或格式不是 PNG/JPG。
  • 预期管理:压缩是无损的,画质不变,但体积收益因图而异;处理前保留原图备份是稳妥做法。

项目以 MIT 许可发布,主要开发在 GitHub 上进行,bug 通过 GitHub 报告,一般问题可发邮件至 [email protected]。