# image-slim **Repository Path**: ferrisM/image-slim ## Basic Information - **Project Name**: image-slim - **Description**: 本地jpg/png压缩工具 - **Primary Language**: Unknown - **License**: WTFPL - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-18 - **Last Updated**: 2026-06-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ImageSlim [English](README.en.md) ImageSlim 是一个本地批量图片无损压缩工具,使用 Tauri 2、Svelte 和 Vite 构建。它面向需要轻量、本地、可自行修改和打包的图片整理/发布工作流。 ## 项目特点 - 本地优先:选择文件、选择文件夹或拖入图片,不依赖云服务。 - 批量处理:递归扫描目录,支持 PNG、JPG/JPEG 和 WebP。 - 默认不覆盖原图:输出到源目录下的 `optimized` 子目录。 - 无损优先:不重采样、不改尺寸,压缩后只有更小时才保留输出。 - JPG 内嵌优化:通过 mozjpeg 无损转码,不需要外部 `jpegtran.exe`。 - WebP 内嵌优化:使用 libwebp lossless 参数,保留 ICC,跳过动图。 - 极限压缩选项:勾选后使用更慢但更偏向体积的策略。 - 轻量界面:主题色和中英文切换保留为小入口。 ## 功能 - 添加单个或多个图片文件 - 添加文件夹并递归扫描图片 - 拖拽本地图片或目录到窗口 - 显示原大小、输出大小、节省比例和处理状态 - 开始、取消、清空队列和打开输出目录 - 主题色切换 - 中文/英文切换 - 极限压缩体积模式 ## 压缩策略 - PNG:使用 oxipng;默认高压缩,极限模式启用更慢的 Zopfli 轮次。 - JPG/JPEG:通过 mozjpeg 复制 DCT 系数,只重建熵编码;保留 ICC,移除 EXIF/注释。 - WebP:只处理静态 WebP;使用 lossless 编码,保留 ICC;动图会被拒绝处理。 极限压缩模式会增加处理时间,适合最终发布、归档或对体积更敏感的批处理。 ## 本地开发 需要先安装: - Node.js 20+ - Rust stable - 当前系统对应的 Tauri 桌面依赖 运行: ```bash npm install npm run tauri:dev ``` ## 本地打包 ```bash npm install npm run tauri:build ``` Windows 默认生成 NSIS 安装包,产物在: ```text src-tauri/target/release/bundle/ ``` 只验证 release exe、不生成安装包: ```bash npm run tauri:build:no-bundle ``` ## Linux 依赖 Ubuntu/Debian 通常需要先安装: ```bash sudo apt-get update sudo apt-get install -y build-essential curl wget file libwebkit2gtk-4.1-dev libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev patchelf rpm ``` 其他发行版按 Tauri 2 的 Linux 依赖安装对应包。 ## macOS 提示 本项目默认不做 Apple 签名和公证。直接打包分发时,macOS 可能会因 Gatekeeper 拦截未签名应用。正式公开分发前需要补开发者证书、签名和公证流程。 ## GitHub Actions 仓库包含 `.github/workflows/build.yml`: - push 到 `main` / `master` 时构建全平台 - pull request 到 `main` / `master` 时运行构建检查 - 支持手动运行 workflow - 推送 `v*` tag 时创建草稿 Release 并上传构建产物 示例: ```bash git tag v0.1.0 git push origin v0.1.0 ``` ## 贡献说明 本项目不接受 PR。你可以 fork 本仓库,然后使用 AI agent 或本地编辑器按自己的需求修改、打包和分发。 ## 许可证和免责声明 许可证使用 WTFPL v2。简单说:想怎么用就怎么用。 免责声明:本项目按原样提供,不提供任何明示或暗示担保。作者不保证它适合任何特定用途,也不对使用、修改、打包、分发或运行本项目造成的任何问题、损失或责任负责。使用者自行承担全部风险。