一个基于 browser-compress-image 库构建的强大桌面多媒体文件压缩应用。使用 Electron + Vue 3 + TypeScript 打造,提供现代化的用户界面和高效的压缩算法。
🖼️ 多格式图片压缩
- 支持 JPEG、PNG、WebP、GIF 等主流图片格式
- 智能压缩算法,最优质量与文件大小平衡
- 保留图片 EXIF 信息(可选)
🛠️ 多引擎压缩
- Browser Image Compression - 快速压缩,兼容性好
- CompressorJS - 轻量级,配置灵活
- Canvas - 原生浏览器 API,通用性强
- Gifsicle - GIF 专用压缩引擎
🎯 智能优化
- 自动选择最佳压缩工具
- 实时压缩效果预览
- 批量文件处理支持
💻 桌面应用优势
- 本地处理,保护隐私安全
- 无需网络连接
- 系统集成,拖拽操作
- 跨平台支持(Windows、macOS、Linux)
即将添加应用界面截图
- Node.js 16.0+
- pnpm
# 克隆项目
git clone https://github.com/your-username/electron-awesome-compressor.git
cd electron-awesome-compressor
# 安装依赖
pnpm install# 启动开发服务器
pnpm dev# Windows 构建
pnpm build:win
# macOS 构建
pnpm build:mac
# Linux 构建
pnpm build:linux
- 启动应用 - 运行
pnpm dev或打开构建后的应用 - 导入文件 - 拖拽图片文件到应用窗口或点击选择文件
- 设置参数 - 调整压缩质量、输出格式等参数
- 开始压缩 - 点击压缩按钮,等待处理完成
- 保存结果 - 选择保存位置,导出压缩后的文件
| 参数 | 范围 | 默认值 | 说明 |
|---|---|---|---|
| 压缩质量 | 0.1 - 1.0 | 0.8 | 值越小文件越小,质量越低 |
| 保留 EXIF | 布尔值 | false | 是否保留图片元数据信息 |
| 输出格式 | JPEG/PNG/WebP | 原格式 | 压缩后的文件格式 |
| 格式 | 扩展名 | 压缩引擎 | EXIF 支持 |
|---|---|---|---|
| JPEG | .jpg, .jpeg | ✅ 多引擎 | ✅ |
| PNG | .png | ✅ 多引擎 | ✅ |
| WebP | .webp | ✅ Canvas | ❌ |
| GIF | .gif | ✅ Gifsicle | ❌ |
- Blob - 二进制对象,用于内存处理
- File - 文件对象,保留原始文件名
- Base64 - 编码字符串,便于传输显示
- ArrayBuffer - 二进制缓冲区,底层数据处理
- Electron - 跨平台桌面应用框架
- Vue 3 - 渐进式前端框架
- TypeScript - 类型安全的 JavaScript
- Vite - 现代化构建工具
- browser-image-compression - 主要图片压缩库
- compressorjs - 轻量级压缩工具
- gifsicle-wasm-browser - GIF 专用压缩
- UnoCSS - 原子化 CSS 引擎
- Vue Router - 单页面路由管理
- Composables - Vue 3 组合式 API
根据 browser-compress-image 库的测试数据,压缩效果显著:
- JPEG 图片:平均压缩率 60-80%
- PNG 图片:平均压缩率 40-70%
- GIF 动图:平均压缩率 30-50%
实际效果取决于图片内容、质量设置和原始文件大小
- ✅ 图片压缩核心功能
- ✅ 多压缩引擎支持
- ✅ 基础用户界面
- ✅ 批量处理支持
我们欢迎所有形式的贡献!
- Fork 项目 - 点击右上角 Fork 按钮
- 克隆仓库 -
git clone https://github.com/your-username/electron-awesome-compressor.git - 创建分支 -
git checkout -b feature/amazing-feature - 提交更改 -
git commit -m 'Add amazing feature' - 推送分支 -
git push origin feature/amazing-feature - 提交 PR - 在 GitHub 上创建 Pull Request
- 遵循 ESLint 代码规范
- 使用 TypeScript 编写类型安全的代码
- 注释和提交信息使用英文
- 确保代码可读性和可维护性
发现 Bug 或有功能建议?请在 Issues 页面提交。
MIT License © 2025 [awesome-compressor]
本项目基于 browser-compress-image 构建,感谢原作者的贡献。
- browser-compress-image - 图片压缩核心库
- Electron - 跨平台桌面应用框架
- Vue 3 - 现代前端框架
- Vite - 快速构建工具
- TypeScript - 类型安全
- UnoCSS - 原子化 CSS
- ESLint - 代码质量检查
如果这个项目对您有帮助,请给个 ⭐️ 支持一下!
Made with ❤️ for better media compression experience.
