# 微信头像批量合成主界面图片——实现思路

## 需求拆解

1. **读取主界面截图**
   - 路径：`./微信无头像主界面截图/`
   - 每张图片尺寸：2560x1527 px
2. **读取头像素材**
   - 路径：`./微信头像素材/`
3. **确定头像合成区域**
   - 区域基准点：左上角 (x=8, y=31)
   - 区域尺寸：宽75，高70
4. **头像素材处理**
   - 每张头像素材需缩放/裁剪为 54x54 px
5. **头像合成**
   - 将处理后的头像粘贴到主界面截图的指定区域（左上角 x=8, y=31，区域内随机偏移，区域宽高为75x75）
   - 粘贴算法：
     - 头像尺寸为54x54，区域为75x75，允许的偏移范围：
       - x: [8, 8+75-54] = [8, 29]
       - y: [31, 31+75-54] = [31, 52]
     - 每次随机生成x、y偏移值，将头像贴到(x, y)处
   - 合成后图片命名规则：
     - `avatar_01_实际x-实际y_55x55.jpg`  
       - avatar_01：头像文件名+序号
       - 实际x-实际y：本次随机偏移后的左上角坐标
       - 55x55：头像尺寸
6. **输出**
   - 合成图片保存到 `./output/` 目录

## 实现流程

1. 遍历主界面截图文件夹，读取每张主界面图片
2. 遍历头像素材文件夹，读取每张头像图片
3. 对每张头像图片：
   - 缩放/裁剪为 54x54 px
   - 随机生成偏移坐标，将头像粘贴到每张主界面图片的 (8, 31, 75x75) 区域内
   - 记录实际坐标，生成合成图片，按命名规则保存到 output 目录
4. 可选：批量处理，支持多线程/进度提示

## 技术选型
- 使用 Python 的 Pillow (PIL) 库进行图片读取、缩放、粘贴和保存
- 使用 os/pathlib 遍历文件夹
- 兼容 jpg/png 格式

## 注意事项
- 头像素材尺寸不一时，需等比缩放后居中裁剪为 54x54
- 合成区域如有特殊对齐需求可调整
- 文件命名需防止重名覆盖 