一个专为朋友圈设计的智能长图拼接工具,支持将多张图片垂直拼接成适合社交媒体分享的长图,提供优雅的图形界面和强大的分组功能。
开发这个工具是因为现有的拼图软件大多需要付费,且拼接效果不尽如人意(╥╯^╰╥)。虽然当前这个工具可能还有提升空间,但咱既然会写代码,不如自己动手丰衣足食,享受自给自足的乐趣!(✿◠‿◠)
- 🎯 智能分组:根据图片数量自动设置合理的每组上限
- 📱 朋友圈优化:专为社交媒体长图分享设计
- 🎨 可视化操作:直观的拖拽式图形界面
- ⚡ 批量处理:支持大量图片的批量拼接
- 🔧 灵活配置:可自定义每组图片数量
- 📁 拖拽支持:支持文件和文件夹拖拽
- 📊 实时预览:处理进度实时显示
- 🧹 一键清理:内置文件夹清理功能
pip install -r requirements.txtpython gui_stitcher.py- 拖拽图片或选择输入目录
- 设置每组图片数量(自动适应上限)
- 点击"开始拼图"生成长图
-
📂 选择图片
- 拖拽图片/文件夹到界面
- 或点击"选择输入目录"浏览文件夹
-
🎯 智能分组
- 设置"每组图片数量"(自动上限为总图片数)
- 点击"自动分组"智能分配
- 或手动拖拽调整分组
-
⚙️ 参数设置
- 选择输出目录保存结果
- 确认分组无误
-
🚀 开始处理
- 点击"开始拼图"
- 实时查看处理进度
- 完成后自动打开输出目录
- JPEG/JPG - 最常用的照片格式
- PNG - 支持透明背景
- BMP - Windows位图
- TIFF - 高质量图像
- WebP - Google现代格式
左侧区域 - 分组管理
- 📊 分组控制:设置每组图片数量(2-总图片数)
- 🗂️ 分组显示:可视化查看所有分组
- 📋 未分组图片:待分配的图片池
- 🎯 自动分组:一键智能分组
右侧区域 - 处理控制
- 📁 目录选择:输入/输出目录选择
- 📥 拖拽区域:支持文件/文件夹拖拽
- 📝 实时日志:处理进度和详细信息
- 🔄 进度条:可视化处理进度
- 🎛️ 控制按钮:开始/停止/清理
- 自动根据图片总数设置合理的分组上限
- 防止设置超出实际图片数量的无效值
- 实时调整,确保操作合理性
- 支持图片在分组间自由拖拽
- 支持从外部拖拽文件/文件夹
- 直观的视觉反馈
- 图片数量实时统计
- 处理进度百分比显示
- 详细的操作日志
- 按名称排序:按文件名升序排列
- 按大小排序:按文件大小降序排列(大文件在前)
- 按时间排序:按修改时间降序排列(新文件在前)
- 一键操作:每个分组独立排序,互不影响
MomentStitcher/
├── gui_stitcher.py # 🎨 图形界面主程序
├── image_stitcher.py # ⚙️ 命令行版本(兼容)
├── clean_folders.py # 🧹 清理工具
├── requirements.txt # 📦 依赖列表
├── README.md # 📖 说明文档
├── input/ # 📥 默认输入目录
│ └── .gitkeep
├── output/ # 📤 默认输出目录
│ └── .gitkeep
└── README.md # 📖 项目文档
- Python: 3.6 或更高版本
- 操作系统: Windows/macOS/Linux
- 内存: 建议4GB以上(处理大量图片)
- 宽度检测:扫描所有图片,找到最短横边
- 等比例缩放:所有图片按相同比例缩放至基准宽度
- 质量保持:使用Lanczos算法确保最佳质量
- 智能分配:根据图片总数和设定数量自动分组
- 边界处理:最后一组自动处理剩余图片
- 灵活调整:支持手动拖拽重新分组
- 流式处理:逐张处理,避免内存溢出
- 缓存机制:缩略图缓存,提升响应速度
- 后台线程:使用QThread保持界面流畅
- 朋友圈长图:将多张截图拼接成长图
- 微博长图:制作适合微博的长图内容
- Instagram Story:创建连续的故事长图
- 项目截图:将多个界面截图拼接展示
- 数据对比:并排展示多张图表
- 流程演示:步骤截图的连续展示
- 旅行照片:将多张照片拼接成游记
- 美食记录:餐厅菜品合集
- 活动回顾:活动精彩瞬间合集
# 在gui_stitcher.py中可调整
DEFAULT_GROUP_SIZE = 9 # 默认每组图片数
OUTPUT_QUALITY = 95 # 输出图片质量
THUMBNAIL_SIZE = 60 # 缩略图尺寸支持通过命令行参数进行批量处理(适合自动化脚本):
# 命令行模式
python image_stitcher.py
# 按提示输入参数即可# 清理输入目录
python clean_folders.py
# 清理输出目录
python clean_folders.pyQ: 程序无法启动
- ✅ 检查Python版本:
python --version(需3.6+) - ✅ 安装依赖:
pip install -r requirements.txt - ✅ 检查系统权限
Q: 图片处理失败
- ✅ 确认图片格式是否支持
- ✅ 检查图片是否损坏
- ✅ 确认磁盘空间充足
Q: 内存不足
- ✅ 减少每组图片数量
- ✅ 分批处理大量图片
- ✅ 关闭其他占用内存的程序
Q: 输出质量不佳
- ✅ 检查原图质量
- ✅ 确认输出目录权限
- ✅ 查看日志获取详细信息
最佳实践
- 建议每组8-12张图片,平衡文件大小和视觉效果
- 使用相同尺寸的图片可获得最佳效果
- 定期清理输出目录,避免文件堆积
性能优化
- 处理大量图片时,建议分批进行
- 使用SSD硬盘可显著提升处理速度
- 关闭不必要的后台程序
- ⏱️ 进度条显示:增加进度条显示,可视化处理进度
- 📝 日志增强:增加了更详细的日志记录
- 🐛 稳定性提升:修复排序功能的稳定性问题
- 🎯 多列布局:分组区域改为智能网格布局,支持2-4列动态调整
- 📏 尺寸优化:优化各区域尺寸比例,未分组区域更紧凑
- 📝 日志固定:日志窗口改为固定高度,便于查看处理进度
- 🔄 版本管理:添加应用程序版本标识
- ✨ 重命名为MomentStitcher,更贴合朋友圈使用场景
- 🎯 智能上限:自动设置合理的分组数量上限
- 🎨 界面优化:改进的视觉设计和用户体验
- 📱 社交优化:专为朋友圈分享优化
- 🎨 图形界面:全新PyQt5界面
- 📁 拖拽支持:文件/文件夹拖拽
- 📊 实时日志:处理进度可视化
- 🧹 清理工具:一键清理功能
- ⚙️ 基础功能:核心拼图算法
- 📏 宽度适配:智能宽度统一
- 📦 批量处理:支持大量图片
- 💻 命令行:交互式操作
欢迎提交Issue和Pull Request来改进MomentStitcher!
- 提供详细的错误信息
- 附上相关图片样本(如可能)
- 说明操作步骤和期望结果
- 描述具体的使用场景
- 提供界面设计建议
- 说明预期效果
本项目采用MIT许可证,详见LICENSE文件。
感谢所有为MomentStitcher提供反馈和建议的用户!
让每一刻都值得分享 - MomentStitcher ❤️