Skip to content

YEYUbaka/ImageProcessor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

简易图片处理工具

Version Python License Platform

一款轻量级、易用的桌面图片处理工具

功能特性快速开始使用指南


📖 项目简介

简易图片处理工具是一款基于 Python 和 PyQt6 开发的桌面图像处理应用程序。它提供了直观的用户界面和丰富的图片处理功能,适合日常图片编辑需求。

✨ 设计理念

  • 简单易用:直观的界面设计,无需专业技能即可上手
  • 功能完整:涵盖缩放、旋转、裁剪、水印、滤镜等常用功能
  • 性能优化:多线程处理,确保界面响应流畅
  • 主题适配:支持浅色/深色主题,适配不同使用场景

🎯 功能特性

📸 基础功能

  • 图片打开与保存

    • 支持 PNG、JPG、JPEG、BMP、TIFF、WebP 等多种格式
    • 智能格式识别和转换
    • 导出时自动添加文件名后缀
  • 图片缩放

    • 滑块调节(10% - 300%)
    • 实时预览缩放效果
    • 保持图片质量(LANCZOS 算法)
  • 图片旋转

    • 角度输入(-360° ~ 360°)
    • 90° 快速旋转按钮
    • 实时预览旋转效果
  • 图片裁剪

    • 鼠标框选裁剪区域
    • 预设比例裁剪(1:1、4:3、16:9 等)
    • 精确坐标输入
    • 实时预览裁剪区域

🎨 高级功能

  • 文字水印

    • 自定义水印文本
    • 多种位置选择(四角、居中、自定义坐标)
    • 字体大小和透明度调节
    • 系统字体选择器
    • 实时预览水印效果
  • 图片滤镜

    • 黑白(灰度)滤镜
    • 模糊滤镜(可调节半径)
    • 复古(棕褐色调)滤镜
    • 实时预览滤镜效果
  • 批量处理

    • 批量格式转换
    • 批量尺寸调整
    • 批量重命名
    • 进度显示和错误处理
  • 图片放映

    • 文件夹图片自动播放
    • 自定义播放间隔
    • 多种切换动画效果
    • 全屏/窗口模式
    • 导出为视频文件

🎛️ 界面功能

  • 预览功能

    • PS 风格的预览区域
    • 鼠标滚轮缩放(10% 步进)
    • 实时显示缩放比例
    • 鼠标拖拽移动预览
    • 缩放后裁剪区域自动调整
  • 撤销/重做

    • 完整的操作历史记录
    • 快捷键支持(Ctrl+Z / Ctrl+Y)
    • 工具栏快捷按钮
  • 主题切换

    • 浅色/深色主题
    • 跟随系统主题
    • 所有对话框和控件自动适配
  • 重置功能

    • 一键清除所有效果
    • 恢复到图片刚打开时的状态

🚀 快速开始

环境要求

  • 操作系统:Windows 10/11(推荐)
  • Python 版本:3.9 或更高版本
  • 依赖库
    • PyQt6 >= 6.0.0
    • Pillow >= 9.0.0

安装步骤

  1. 克隆或下载项目

    git clone https://github.com/YEYUbaka/ImageProcessor.git
    cd ImageProcessor
  2. 安装依赖

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

    python main.py

打包为可执行文件

使用提供的打包脚本:

# Windows
build.bat

打包完成后,可执行文件位于 dist/简易图片处理工具.exe


📖 使用指南

基本操作流程

  1. 打开图片

    • 点击左侧工具栏的"打开"按钮
    • 或使用菜单:文件 → 打开
    • 或快捷键:Ctrl + O
  2. 应用效果

    • 在右侧参数面板调整参数
    • 点击"应用"按钮应用效果
    • 或使用实时预览功能(部分功能支持)
  3. 保存图片

    • 点击左侧工具栏的"保存"按钮
    • 或使用菜单:文件 → 保存
    • 或快捷键:Ctrl + S

快捷键列表

功能 快捷键
打开图片 Ctrl + O
保存图片 Ctrl + S
撤销 Ctrl + Z
重做 Ctrl + Y
放大预览 Ctrl + +
缩小预览 Ctrl + -
重置预览 Ctrl + 0
开始/停止放映 F5

预览区域操作

  • 缩放:鼠标滚轮上下滚动
  • 移动:按住左键拖拽
  • 裁剪:点击"裁剪"按钮后,在预览区域框选
  • 水印位置:点击"水印"按钮后,在预览区域点击选择位置

🏗️ 技术架构

核心技术栈

  • GUI 框架:PyQt6
  • 图像处理:Pillow (PIL)
  • 样式系统:QSS (Qt Style Sheets)
  • 打包工具:PyInstaller

项目结构

ImageProcessor/
├── main.py                # 程序入口
├── image_tools.py         # 图像处理核心模块
├── ui/                    # UI 模块
│   ├── main_window.py     # 主窗口
│   ├── slideshow_window.py# 放映窗口
│   ├── qss.qss            # 浅色主题样式
│   └── qss_dark.qss       # 深色主题样式
├── icons/                 # 图标资源
├── image/                 # 测试图片与输出目录(可选)
├── test/                  # 测试脚本(可选)
└── README.md              # 本说明文档

设计模式

  • 单例模式:ImageTools 类使用静态方法
  • 观察者模式:Qt 信号槽机制
  • 工作线程模式:WorkerThread 处理耗时操作

🐛 已知问题

  • 某些杀毒软件可能误报,请添加信任

🔄 版本历史

v1.2 (2025-12-17)

  • ✨ 添加重置功能
  • 🎨 优化主题切换
  • 🐛 修复 NumberInput 控件主题适配问题
  • 📦 完善打包配置和文档

v1.1 (2025-12-15)

  • ✨ 添加图片放映功能
  • ✨ 添加批量处理功能
  • 🎨 添加滤镜功能
  • 🎨 优化预览功能(PS 风格)

v1.0 (2025-12-10)

  • 🎉 初始版本发布
  • ✨ 基础图片处理功能
  • ✨ 水印功能
  • ✨ 主题切换功能

👥 贡献

欢迎提交 Issue 和 Pull Request!


📄 许可证

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


🙏 致谢


Made with ❤️ using Python & PyQt6

返回顶部

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages