# 图片批量处理工具 **Repository Path**: CC4186666/picture-batch-processor ## Basic Information - **Project Name**: 图片批量处理工具 - **Description**: 一款强大的桌面图片批量处理工具,支持批量添加文字、蒙版、Excel 数据导入等功能。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2026-02-05 - **Last Updated**: 2026-03-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 图片批量处理工具 一款强大的桌面图片批量处理工具,可以给相同宽高的图片对应excel中的字段批量添加文字,支持批量添加文字、蒙版、Excel 数据导入等功能。 ![License](https://img.shields.io/badge/license-MIT-blue.svg) ![Platform](https://img.shields.io/badge/platform-Windows-lightgrey.svg) ![Version](https://img.shields.io/badge/version-1.0.4-green.svg) ## ✨ 功能特性 - 📷 **批量图片处理** - 支持同时处理数百张图片 - 📊 **Excel 数据导入** - 自动匹配 Excel 数据到图片 - 🎨 **可视化编辑** - 拖拽调整文字位置,实时预览效果 - 🖼️ **蒙版支持** - 为图片添加水印或装饰层 - 💾 **模板系统** - 保存和加载编辑配置 - 🔤 **自定义字体** - 导入和使用自己的字体 - 📦 **灵活导出** - 支持 ZIP 打包或直接导出 - 🔍 **智能搜索** - 快速筛选和管理图片 - ✨ **多选编辑** - 支持 Ctrl+点击、Shift+点击、框选,批量修改属性 - 🎯 **批量对齐** - 补充多选标签可批量修改对齐方式和最大宽度 ## 📸 截图演示 > 主界面 > 暂无 > Excel 数据导入 > 暂无 > 批量导出 > 暂无 ## 🚀 快速开始 ### 下载安装 从 [Releases](../../releases) 页面下载最新的安装包: - **图片批量处理_1.0.4_x64-setup.exe** - 安装包(推荐) - 运行安装程序,按照提示完成安装 ### 基本使用 1. **上传图片** - 点击「图片上传」区域,选择要处理的图片 2. **导入 Excel** - 点击「Excel 导入」,选择数据文件并设置文件名列 3. **添加文字** - 双击「字段池」中的字段添加到画布 4. **调整位置** - 拖拽文字到合适位置 5. **导出图片** - 点击「批量导出」选择保存位置和方式 详细使用说明请查看 [用户使用手册](./用户使用手册.md) ## 💻 开发指南 ### 环境要求 - **Node.js** >= 18.0.0 我用的24 - **pnpm** >= 8.0.0 - **Rust** >= 1.70 - **Tauri CLI** >= 2.0 ### 安装依赖 ```bash # 克隆项目 git clone https://gitee.com/CC4186666/picture-batch-processor.git cd picture-batch-processor # 安装依赖 pnpm install ``` ### 开发模式 ```bash # 启动开发服务器 pnpm tauri:dev ``` ### 构建打包 ```bash # 构建生产版本 pnpm tauri:build # 生成的文件位于: # - src-tauri/target/release/bundle/nsis/图片批量处理_<版本号>_x64-setup.exe ``` ### 生成图标 ```bash # 从 icon.png 生成所有图标格式 pnpm tauri icon ``` ## 🛠️ 技术栈 ### 前端 - **React** 19 - UI 框架 - **TypeScript** - 类型安全 - **Vite** - 构建工具 - **Ant Design** 6 - UI 组件库 - **Zustand** - 状态管理 - **XLSX** - Excel 解析 - **JSZip** - ZIP 打包 ### 后端 - **Tauri** 2 - 桌面应用框架 - **Rust** - 系统编程语言 ### 主要依赖 - `@tauri-apps/plugin-dialog` - 文件对话框 - `@tauri-apps/plugin-fs` - 文件系统操作 - `immer` - 不可变状态更新 ## 📁 项目结构 ``` picture-batch-processor/ ├── src/ # 前端源代码 │ ├── components/ # React 组件 │ ├── stores/ # Zustand 状态管理 │ ├── utils/ # 工具函数 │ └── types/ # TypeScript 类型定义 ├── src-tauri/ # Tauri 后端代码 │ ├── src/ # Rust 源代码 │ ├── icons/ # 应用图标 │ └── target/ # 编译输出(.gitignore) ├── public/ # 静态资源 ├── dist/ # 构建输出(.gitignore) ├── 用户使用手册.md # 用户文档 └── README.md # 项目说明 ``` ## 🎯 核心功能实现 ### Excel 数据匹配 - 支持多种文件名格式匹配 - 自动去除空格和扩展名 - 大小写不敏感 - 支持多个 Sheet 页选择 ### Canvas 渲染优化 - 使用离屏 Canvas 提高性能 - 拖拽时使用临时位置避免频繁更新 - requestAnimationFrame 优化渲染频率 ### 拖拽性能优化 - 本地 ref 存储临时位置 - 避免频繁的 store 更新 - 流畅的 60fps 渲染 ## 🤝 贡献指南 欢迎提交 Issue 和 Pull Request! 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 提交 Pull Request ## 📝 开发规范 ### Git 提交信息 ``` feat: 添加新功能 fix: 修复 bug docs: 更新文档 style: 代码格式调整 refactor: 重构代码 perf: 性能优化 test: 测试相关 chore: 构建/工具相关 ``` ### 代码规范 - 使用 ESLint 和 Prettier 格式化代码 - 遵循 TypeScript 最佳实践 - 组件使用函数式组件 + Hooks - 状态管理使用 Zustand ## 📄 许可证 [MIT License](LICENSE) ## 🙏 致谢 - [Tauri](https://tauri.app/) - 跨平台桌面应用框架 - [React](https://react.dev/) - UI 框架 - [Ant Design](https://ant.design/) - UI 组件库 - [XLSX](https://github.com/SheetJS/sheetjs) - Excel 处理库 ## 📮 联系方式 - **Issues**: [提交问题](../../issues) - **Email**: 暂无 ## 📝 更新日志 ### v1.0.4 (2026-02) - ✨ **批量对齐方式** - 多选标签可批量修改内部对齐方式(左/中/右),保持视觉位置不变 - ✨ **批量最大宽度** - 多选标签可批量调整自动换行的最大宽度(maxWidth) - 🎯 **精确高度计算** - 竖排功能支持多行文字的实际高度计算,对齐更精准 - 🐛 **边界检测优化** - 标签拖拽到边缘自动修正位置 - 🐛 **拖拽性能提升** - 修复拖拽过程中的闪烁问题 - 🎹 **快捷键完善** - 支持 Ctrl+A 全选、Ctrl+C/V 复制粘贴 ### v1.0.3 (2026-02) - ✨ **多选功能** - 支持 Ctrl+点击多选、Shift+点击范围选择、框选 - ✨ **批量编辑** - 多选标签后可批量修改属性(字体、颜色、大小等) - ✨ **批量拖拽** - 多选标签可一起拖动移动位置 - ✨ **对齐功能** - 支持左/右/居中/顶部/底部/水平垂直等间距对齐 - ✨ **横排竖排** - 快速将多个标签排列成一行或一列 - 🐛 **边界检测** - 标签拖拽到边缘自动修正位置 - 🐛 **拖拽优化** - 修复拖拽过程中的闪烁问题 - 🎹 **快捷键** - 支持 Ctrl+A 全选、Ctrl+C/V 复制粘贴 ### v1.0.0 (2026-02) - 🎉 首次发布 ## ⭐ Star History 如果这个项目对您有帮助,请给我们一个 Star! --- **Made with ❤️ by 土豆饼**