Skip to content
Leslie Van edited this page Apr 24, 2023 · 4 revisions

Semi Utils 是一个基于命令行界面(CLI)的图像处理程序,主要由以下四个模块组成:

  1. 菜单组件MenuComponent:用于生成CLI中的菜单,接受用户的输入并执行对应的回调函数。它是整个应用的核心组件之一,用于实现应用的交互逻辑。
  2. 配置对象Config:用于修改配置文件,与菜单组件配合使用,共同组成应用的CLI交互。它包含了应用的各种配置选项和默认值,用户可以通过菜单组件来修改这些选项。
  3. 图片容器ImageContainer:用于读取并保存图片的exif等信息,操作原图片、生成的图片等。它提供了一组操作图片的API,可以用于实现各种图像处理需求。
  4. 处理器组件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
Clone this wiki locally