# EcomHelper **Repository Path**: lznode/EcomHelper ## Basic Information - **Project Name**: EcomHelper - **Description**: 这是一个基于PyQt6开发的图片合成工具,能够帮助用户将底图和素材图片按照指定的配置进行合并。用户可以选择底图文件夹、素材文件夹和配置文件,还可以对配置项进行修改,并预览和保存合成后的图片。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-08-24 - **Last Updated**: 2025-02-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 图片合成工具 ## 概述 这是一个基于PyQt6开发的图片合成工具,能够帮助用户将底图和素材图片按照指定的配置进行合并。用户可以选择底图文件夹、素材文件夹和配置文件,还可以对配置项进行修改,并预览和保存合成后的图片。 ## 功能特性 - **图片合并**:支持将底图和素材图片进行合并,并可以选择不同的混合模式(如`lighten`或`linear_burn`)。 - **配置管理**:用户可以选择配置文件,并对配置项进行修改和保存。 - **图片预览**:提供图片预览功能,方便用户查看合成效果。 - **日志记录**:记录程序的执行过程和错误信息,方便用户排查问题。 ## 安装与运行 ### 依赖安装 本项目依赖于以下Python库: - `asyncio` - `fractions` - `json` - `os` - `sys` - `traceback` - `uuid` - `numpy` - `Pillow` - `PyQt6` - `setuptools` 你可以使用以下命令安装所需的依赖: ```sh pip install numpy Pillow PyQt6 setuptools ``` ### 运行项目 在安装完所有依赖后,将项目代码保存为一个Python文件(例如`image_merge_tool.py`),然后在终端中运行以下命令: ```sh python image_merge_tool.py ``` ## 使用方法 ### 选择文件夹和文件 - **底图文件夹**:点击“选择底图文件夹”按钮,选择包含底图的文件夹。 - **素材文件夹**:点击“选择素材文件夹”按钮,选择包含素材图片的文件夹。 - **配置文件**:点击“选择配置文件”按钮,选择配置文件(JSON格式)。 ### 配置项管理 - **选择配置项**:在配置项下拉框中选择需要修改的配置项。 - **修改配置项**:在输入框中输入新的坐标值(X1、Y1、X2、Y2),然后点击“修改当前配置项”按钮保存修改。 ### 图片预览和保存 - **选择底图和素材**:在底图和素材下拉框中选择需要合并的图片。 - **预览图片**:点击“展示”按钮,预览合成后的图片。 - **保存图片**:点击“保存”按钮,将合成后的图片保存到指定的文件夹中。 ### 开始合成 点击“开始”按钮,程序将开始批量合成图片,并将合成后的图片保存到输出文件夹中。 ## 配置文件格式 配置文件为JSON格式,示例如下: ```json { "mappings": [ { "type": "短", "ratio": "1", "box": [ 236, 150, 237, 235 ] }, { "type": "短", "ratio": "3/4", "box": [ 353, 268, 226, 223 ] }, ... ] } ``` ## 代码结构 ### 主要类和函数 - `Worker`:负责加载配置文件、合并图片等核心功能。 - `WorkerThread`:继承自`QThread`,用于在后台线程中执行`Worker`的`main`方法。 - `MainWindow`:主窗口类,负责界面的布局和事件处理。 ### 关键函数 - `merge_images`:合并两张图片,并应用指定的混合模式。 - `list_image_files`:列出指定文件夹中的所有图片文件。 - `load_configurations`:加载配置文件,并更新配置项下拉框。 ## 注意事项 - 请确保所选的文件夹和文件路径正确,否则程序可能会报错。 - 配置文件必须为JSON格式,且包含`mappings`字段。 - 图片文件的格式必须为`png`、`jpg`、`jpeg`、`bmp`或`gif`。 ## 常见问题 ### 配置文件加载失败 - 请检查配置文件的路径是否正确,以及文件格式是否为JSON。 - 确保配置文件中包含`mappings`字段,且每个映射项包含`type`、`ratio`和`box`字段。 ### 图片合成失败 - 请检查底图和素材图片的路径是否正确,以及图片格式是否支持。 - 确保所选的配置项存在,且`box`字段的值为有效的坐标值。