-
-
Notifications
You must be signed in to change notification settings - Fork 127
Home
Leslie Van edited this page Apr 24, 2023
·
4 revisions
Semi Utils 是一个基于命令行界面(CLI)的图像处理程序,主要由以下四个模块组成:
- 菜单组件
MenuComponent
:用于生成CLI中的菜单,接受用户的输入并执行对应的回调函数。它是整个应用的核心组件之一,用于实现应用的交互逻辑。 - 配置对象
Config
:用于修改配置文件,与菜单组件配合使用,共同组成应用的CLI交互。它包含了应用的各种配置选项和默认值,用户可以通过菜单组件来修改这些选项。 - 图片容器
ImageContainer
:用于读取并保存图片的exif等信息,操作原图片、生成的图片等。它提供了一组操作图片的API,可以用于实现各种图像处理需求。 - 处理器组件
ProcessorComponent
:用于处理图片,不同的处理器可以组合使用,通过处理器链逐个处理图片。它包含了一系列处理图片的操作,例如水印、边框、阴影等,用户可以选择不同的处理器组合来实现不同的图像处理需求。
项目结构如下:
.
├── exiftool # exiftool 路径
├── fonts # 字体路径
├── logos # logo 文件路径
├── input # 输入文件夹
├── output # 输出文件夹
├── entity # 主要对象
│ ├── config.py # 配置对象,用于操作 config.yaml
│ ├── image_container.py # 图片容器,用于读取并保存图片的exif等信息
│ ├── image_processor.py # 用于处理图片,不同的处理器可以组合使用
│ └── menu.py # 用于生成CLI中的菜单,接受用户的输入并执行对应的回调函数
├── enums
│ └── constant.py # 常量类
├── init.py # 加载配置文件,初始化和定义用户菜单
├── main.py # 启动和配置应用程序,并负责调用其他模块中的相关代码来完成应用程序的功能
├── utils.py # 工具类,获取图片列表、根据文字生成图片等
├── config.yaml # 配置文件
├── install.sh # 应用程序的安装脚本,下载 exiftool 并安装 python 依赖
├── main.spec # pyinstaller 打包相关配置
├── requirements.txt # 指定所需要的第三方包及其版本的配置文件
├── README.md
└── LICENSE