👉 项目官网:https://www.python-office.com/ 👈

github star

大家好,这里是程序员晚枫,正在all in AI编程实战

每次发朋友圈要手动压缩图片?

水印要一个个加?

今天教你怎么用 python-office 批量处理图片

1、图片压缩

1
2
3
4
5
6
7
8
import office

# 压缩图片
office.image.compress(
path='原图.jpg',
output_file='压缩后.jpg',
quality=50 # 质量0-100,越小越小
)

2、批量压缩文件夹里的图片

1
2
3
4
5
6
7
8
9
10
11
12
import office
import os

folder = '图片文件夹'

for file in os.listdir(folder):
if file.endswith(('.jpg', '.png')):
src = os.path.join(folder, file)
dst = os.path.join(folder, '压缩_' + file)
office.image.compress(path=src, output_file=dst, quality=30)

print('批量压缩完成!')

3、图片裁剪

1
2
3
4
5
6
7
8
9
10
11
import office

# 裁剪图片(左上角为原点)
office.image.cut(
path='原图.jpg',
output_file='裁剪后.jpg',
x=100, # 左上角X坐标
y=100, # 左上角Y坐标
width=500, # 裁剪宽度
height=500 # 裁剪高度
)

4、加水印

1
2
3
4
5
6
7
8
9
10
11
import office

# 添加文字水印
office.image.add_text(
path='原图.jpg',
output_file='水印图.jpg',
text='程序员晚枫', # 水印文字
color='white', # 文字颜色
size=50, # 字号
opacity=0.5 # 透明度
)

5、加图片水印

1
2
3
4
5
6
7
8
9
10
import office

# 添加图片水印
office.image.add_image(
path='原图.jpg',
output_file='水印图.jpg',
logo='logo.png', # 水印图片
opacity=0.3, # 透明度
position='right-bottom' # 位置:center/left-top/right-bottom等
)

6、实战案例:批量处理产品图

每次上架新产品,要处理一批图片:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import office
import os

def process_product_images(folder):
"""处理产品图片"""
for file in os.listdir(folder):
if file.endswith(('.jpg', '.png')):
src = os.path.join(folder, file)
name = os.path.splitext(file)[0]

# 1. 压缩
compress_path = os.path.join(folder, f'{name}_压缩.jpg')
office.image.compress(path=src, output_file=compress_path, quality=50)

# 2. 裁剪成正方形
square_path = os.path.join(folder, f'{name}_方.jpg')
office.image.cut(path=compress_path, output_file=square_path,
x=0, y=0, width=800, height=800)

# 3. 加水印
final_path = os.path.join(folder, f'{name}_最终.jpg')
office.image.add_text(path=square_path, output_file=final_path,
text='程序员晚枫精选', color='white', size=40)

print(f'处理完成: {file}')

process_product_images('产品图片文件夹')

7、常见问题

Q:压缩后图片模糊?

A:quality 参数调高一些,比如 70 或 80。

Q:水印位置不对?

A:position 可选值:center, left-top, right-top, left-bottom, right-bottom

Q:支持哪些格式?

A:支持 jpg、jpeg、png、bmp、gif 等常见格式。

8、下讲预告

学会了图片处理,下一讲我们学 时间管理工具——自动记录时间、生成报告。

敬请期待!


有问题欢迎加微信 python-office 进群交流~

程序员晚枫专注AI编程培训,小白看完他和图灵社区合作的教程《30讲 · AI编程训练营》就能上手做AI项目。

🎓 AI 编程实战课程

想系统学习 AI 编程?程序员晚枫的 AI 编程实战课 帮你从零上手!