原文地址:https://itxiaozhang.com/batch-replace-fixed-region-images-python/
如果您需要远程电脑维修或者编程开发,请加我微信咨询。
一、需求分析
在实际工作中,我们常常会遇到这样的需求: 有一批尺寸一致的长图(如公众号长截图、拼接图等),需要在同一固定区域内替换为统一的内容,比如覆盖新的标题栏、状态栏、Logo 等。
目标要求如下:
- 只处理尺寸为 960×8049 的 PNG 图像;
- 替换区域为垂直方向上 第 115 至第 229 像素(高 114 像素);
- 使用一张大小为 960×114 的小图进行替换;
- 支持批量自动处理,提升效率;
- 提供错误处理和处理结果统计。
二、解决思路
我们使用 Python 语言和 Pillow 图像处理库来实现这一功能。整体流程如下:
遍历图像文件夹 仅处理
.png文件,并验证尺寸是否为 960×8049,其他自动跳过。图像处理逻辑
- 使用 Pillow 打开图片并转换为
RGBA模式; - 将 960×114 的替换图粘贴到
(0, 115)位置,覆盖目标区域; - 保存处理后的新图到输出文件夹。
- 使用 Pillow 打开图片并转换为
并发加速处理 借助 Python 内置的
ThreadPoolExecutor并发模块,支持多线程批量处理。日志记录与统计 实时输出每张图的处理结果,最终打印成功、跳过和失败数量。
三、关键代码片段
完整脚本中还包含:日志配置、多线程处理逻辑、输出统计等内容。运行脚本即可批量处理所有符合条件的图片。
四、使用方法
- 安装依赖:
| |
- 准备目录结构:
- 运行脚本:
| |
脚本会自动扫描 img/ 目录中的图像文件,处理后保存到 out/ 目录中。