Skip to content

catmcbe/imagesplit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🖼️ 图像分割 b1.5

一个功能强大的桌面应用程序,用于将大图片分割成多个小图块,支持多种分割模式和输出格式。

✨ 功能特点

🎯 核心功能

  • 智能分割:支持自定义行列数,将图片按网格分割成多个小图块
  • 批量处理:可同时选择多张图片进行批量分割
  • 实时预览:提供分割线演示功能,直观显示分割效果
  • 多种保存模式
    • 每张图片单独文件夹保存
    • 按日期和时间统一文件夹保存

📁 文件管理

  • 自动组织:自动创建uploads和splits文件夹管理文件
  • 智能命名:分割后的文件按规则自动命名,便于识别
  • PDF合并:支持将分割后的图片合并为PDF文件

🎨 用户界面

  • 现代化设计:使用ttkbootstrap打造美观的现代化界面
  • 响应式布局:支持窗口缩放,最小尺寸900x600
  • 多标签页设计:分离主要功能和设置,界面清晰
  • 实时状态:显示处理进度和状态信息

⚙️ 高级设置

  • 输出格式:支持PNG、JPEG、BMP多种格式
  • 质量控制:可调节图片输出质量(1-100%)
  • 快速预设:提供2×2、3×3、4×4等常用分割预设
  • 高级选项:支持保持宽高比、自动预览等选项

📋 系统要求

操作系统

  • 所有支持Python的系统

Python环境

  • Python 3.7 或更高版本
  • pip 包管理器

依赖库

  • ttkbootstrap - 现代化UI界面
  • Pillow - 图像处理
  • pypdf - PDF操作
  • reportlab - PDF生成
  • pyinstaller - 打包工具

🚀 安装指南

方式一:直接运行源码

  1. 克隆或下载项目

    git clone https://github.com/catmcbe/imagesplit.git
    cd image-splitter-main
  2. 安装依赖

    pip install -r requirements.txt
  3. 运行程序

    python image_splitter.py

方式二:使用打包后的可执行文件

📖 使用说明

1. 基本操作流程

📂 选择图片文件

  1. 点击"📁 选择文件"按钮
  2. 在文件选择对话框中选择一张或多张图片
  3. 支持的格式:JPG、JPEG、PNG、BMP、GIF、TIFF
  4. 选择的文件会显示在文件列表中

⚙️ 设置分割参数

  1. 设置分割尺寸

    • 调整"列数"和"行数"参数(1-20)
    • 或使用快速预设按钮(2×2、3×3、4×4等)
  2. 选择保存模式

    • 📁 每张图片单独文件夹:为每张图片创建独立文件夹
    • 📅 按日期统一文件夹:按日期时间统一管理

🚀 开始分割

  1. 点击"🎯 开始分割"按钮
  2. 程序会自动处理选中的图片
  3. 处理过程中显示进度条和状态信息
  4. 完成后可选择是否合并为PDF

2. 高级功能使用

👁️ 分割演示

  • 点击"👁️ 分割演示"查看分割线预览
  • 红色线条显示分割边界
  • 白色数字显示网格位置

📂 输出文件夹

  • 点击"📂 输出文件夹"打开保存位置
  • 查看分割后的图片文件

⚙️ 设置选项

  • 输出格式:选择PNG、JPEG、BMP
  • 图片质量:拖动滑块调整输出质量
  • 保持宽高比:勾选以保持原图比例
  • 自动预览:启用自动预览功能(未开发完毕)

3. PDF合并功能

自动合并

  • 图片分割完成后,系统会询问是否合并为PDF
  • 选择"是"将自动合并本次分割的所有图片

手动合并

  1. 确保splits文件夹中有分割后的图片
  2. 点击"🎯 开始分割"(即使没有新文件)
  3. 系统会检测现有图片并询问是否合并

📁 项目结构

image-splitter/
├── image_splitter.py          # 主程序文件
├── requirements.txt           # 依赖包列表
├── README.md                  # 项目说明文档
├── uploads/                   # 上传文件目录
│   └── (用户上传的图片)
├── splits/                    # 分割输出目录
│   ├── (按图片名称命名的文件夹)
│   ├── (按日期时间命名的文件夹)
│   └── merged_images_*.pdf    # 合并的PDF文件

🔧 开发信息

技术栈

  • 语言:Python 3.7+
  • GUI框架:tkinter + ttkbootstrap
  • 图像处理:Pillow (PIL)
  • PDF处理:pypdf + reportlab
  • 打包工具:PyInstaller

代码结构

class ImageSplitterApp:
    def __init__(self, root)          # 初始化应用程序
    def create_widgets(self)           # 创建界面组件
    def create_main_tab(self)          # 创建主要功能标签页
    def create_settings_tab(self)      # 创建设置标签页
    def split_images(self)             # 执行图像分割
    def split_image_into_tiles(self)   # 单张图片分割
    def merge_to_pdf(self)             # PDF合并功能
    def show_demo(self)                # 分割演示

🐛 常见问题

Q: 程序无法启动怎么办?

A: 请检查:

  1. Python环境是否正确安装
  2. 是否安装了所有依赖包:pip install -r requirements.txt
  3. Python版本是否为3.7或更高

Q: 支持哪些图片格式?

A: 目前支持JPG、JPEG、PNG、BMP、GIF、TIFF等常见格式。

Q: 分割后的图片保存在哪里?

A: 默认保存在程序目录下的splits文件夹中,根据选择的保存模式进行组织。

Q: 如何调整输出图片质量?

A: 在"设置"标签页中,可以调整图片质量滑块(1-100%)。

Q: PDF合并失败怎么办?

A: 请确保:

  1. splits文件夹中有分割后的图片
  2. 图片格式受支持
  3. 磁盘空间充足

🔄 更新日志

b1.5.0 (当前版本)

  • 🎯 支持新图片分割功能
  • 📁 支持多种保存模式
  • 📋 支持PDF合并功能
  • 🎨 现代化用户界面
  • ⚙️ 丰富的设置选项

📄 许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。

🙏 致谢

感谢以下开源项目的支持:


About

一个功能强大的桌面应用程序,用于将大图片分割成多个小图块,支持多种分割模式和输出格式。

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages