Repository navigation
Compression Engine
zipax-bot edited this page Aug 11, 2026
·
2 revisions
压缩引擎位于 zipax-cross/crates/zipax-core,是项目最核心的部分,由桌面应用和 CLI 共享。
| 格式 | 编码方式 | 说明 |
|---|---|---|
| JPEG | mozjpeg |
高质量 JPEG 压缩 |
| PNG |
oxipng + imagequant
|
无损优化 + 调色板量化 |
| WebP |
webp crate |
有损/无损 |
| AVIF |
ravif (RAV1E) |
新一代高效格式 |
| HEIC | libheif-rs |
读取 HEIC 并转码(嵌入式 libheif) |
| TIFF |
image crate |
支持读取 |
| GIF |
image crate |
支持读取 |
| Ghostscript(外部进程) | 压缩 PDF,见 Ghostscript-Install |
注:HEIC 需要
libde265系统库,deb/rpm 包已声明libde265-0/libde265依赖。
| 模式 | key | 默认质量 | 说明 |
|---|---|---|---|
| 高质量 | quality |
L1 | 优先视觉质量 |
| 均衡 | balanced |
L3 | 质量与体积平衡(默认) |
| 小文件 | size |
L6 | 优先小体积 |
| 高级 | advanced |
L3 | 手动控制质量 |
| 目标大小 |
target / target_size
|
L3 | 压缩到指定 KB(如 500KB) |
共 6 级(L1 最高 → L6 最低),映射到 0.0–1.0 的质量浮点值:
| 等级 | 质量值 |
|---|---|
| L1 | 0.95 |
| L2 | 0.88 |
| L3 | 0.80 |
| L4 | 0.70 |
| L5 | 0.60 |
| L6 | 0.50 |
plan_compression 在执行前生成 CompressionPlan:
- 预估压缩后的大小与节省量
- 目标大小模式下迭代逼近目标 KB
- 前端根据 plan 显示「预计节省」信息
- 检查「已压缩过」标记,支持跳过已压缩文件
- 覆盖原文件:直接写入原路径
- 跳过已压缩文件:识别此前压缩痕迹
- 压缩后复制:输出到指定目录并保留原文件
- 保留元数据:尽可能保留 EXIF 等信息
-
尺寸限制:
max-width/max-height限制输出尺寸
process.rs 支持一次压缩多个文件(桌面端 compress_batch、CLI 多文件参数),配合 notify 实现文件夹自动压缩:监控目录中新增文件后自动加入队列。
Language / 语言:
- 简体中文 · English
- Home
- Tech-Stack
- Architecture
- Compression-Engine
- Features
- Build-and-Release
- CLI-Usage
- Ghostscript-Install
- Release-History
- Docs-Index
- Home-EN
- Tech-Stack-EN
- Architecture-EN
- Compression-Engine-EN
- Features-EN
- Build-and-Release-EN
- CLI-Usage-EN
- Ghostscript-Install-EN
- Release-History-EN
- Docs-Index-EN