# 图片批量分模块 **Repository Path**: jinzehh/modular-classification-of-images ## Basic Information - **Project Name**: 图片批量分模块 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-19 - **Last Updated**: 2025-12-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: 小红书 ## README # 项目说明(最简版) 记住核心文件: ## 主要文件: 1. **main.py** —— 启动程序(双击或命令行 python main.py) 2. **app_gui.py** —— 界面布局与按钮逻辑(负责调用各类 Mixin) 3. **utils_image.py** —— 打开/读取/保存各类图片、处理 RAW/HEIC 4. **calc_utils.py** —— 纯数学计算(不涉及界面,只做数值换算) ## 功能模块(Mixin): 5. **analysis_mixin.py** —— 分析原图信息、显示进度对话框 6. **processing_mixin.py** —— 多线程批量处理、保存输出文件 7. **size_mixin.py** —— 通用尺寸界面逻辑(处理用户输入、界面状态、预览显示等) 8. **dpi_size_mixin.py** —— DPI与尺寸联动计算 9. **batch_ratio_mixin.py** —— 批量保持比例功能 10. **std_size_mixin.py** —— 标准尺寸选择功能 ## calc_utils.py VS size_mixin.py 的区别: **calc_utils.py** = 纯计算器(不碰界面) - 厘米转像素:`convert_to_pixels(10, "cm", 300)` - 像素转英寸:`convert_from_pixels(3000, "inch", 300)` - 计算最佳DPI:`calculate_optimal_dpi_for_image(...)` - 特点:输入数字,输出数字,不管界面长什么样 **size_mixin.py** = 界面控制器(专管尺寸相关的界面) - 用户改了宽度输入框 → 自动算高度 - 勾选"保持比例" → 禁用某些输入框 - 切换单位下拉框 → 更新所有显示数值 - 显示预览文字:"3000像素 × 2000像素 = 25.4厘米 × 16.9厘米" - 特点:处理用户点击、输入、界面状态变化 ## 常用操作指南: - **想改界面布局、按钮颜色** → 改 `app_gui.py` - **想支持新图片格式** → 改 `utils_image.py` - **想修改换算公式(比如1英寸改成2.5厘米)** → 改 `calc_utils.py` - **想改界面行为(比如改宽度时高度如何变化)** → 改 `size_mixin.py` - **想改DPI与尺寸联动逻辑** → 改 `dpi_size_mixin.py` - **想改批量保持比例功能** → 改 `batch_ratio_mixin.py` - **想改标准尺寸选择功能** → 改 `std_size_mixin.py` - **想提速或改批处理算法** → 改 `processing_mixin.py` - **想改图片分析进度显示** → 改 `analysis_mixin.py` 运行出错多数是缺库: ``` pip install pillow-heif rawpy ttkbootstrap ``` 就这些,其他文件暂时不用管。