代码
from PIL import Image
import os
# 设置输入和输出文件夹
input_folder = "Photos1" # 存放原始图片的文件夹
output_folder = "Photos2" # 存放修剪后图片的文件夹
os.makedirs(output_folder, exist_ok=True)
# 目标比例 5:7(根据你的描述修改)
target_width = 5
target_height = 7
target_ratio = target_width / target_height
for filename in os.listdir(input_folder):
if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp', '.gif', '.webp')):
img_path = os.path.join(input_folder, filename)
try:
with Image.open(img_path) as img:
width, height = img.size
current_ratio = width / height
if current_ratio > target_ratio:
# 图片太宽,裁剪宽度(左右)
new_width = int(height * target_ratio)
left = (width - new_width) // 2
right = left + new_width
cropped_img = img.crop((left, 0, right, height))
else:
# 图片太高,裁剪高度(上下)
new_height = int(width / target_ratio)
top = (height - new_height) // 2
bottom = top + new_height
cropped_img = img.crop((0, top, width, bottom))
# 保存修剪后的图片
output_path = os.path.join(output_folder, filename)
cropped_img.save(output_path)
print(f"已修剪: {filename} -> {output_path}")
except Exception as e:
print(f"处理图片 {filename} 时出错: {e}")
print("批量修剪完成!")
这个代码主要用了PIL库这个库主要用于图像处理,这个代码实现的功能主要是修剪照片为7:5的大头照,为什么写这个代码,哈哈哈哈不得不说了我是计算机学院的体育部负责人,我为运动员报名时学校要求我的照片必须是7:5我这个人懒得很一共52个运动员我总不能每张都慢慢修吧,因此写了一个小脚本来帮助大家各位体育部负责人提高工作效率
程序用法(适用于完全不会电脑的小白,熟悉Python的朋友可以看个乐子)
1. 下载Python
在官网下载即可
传送门Python官网
这个下载教程网上多的很
然后我们需要点击Win + R 键 Win 键一般在键盘的左下角有个“Ctrl”键,旁边那个如果你是笔记本的话有可能会有一个“”Fn“键那么Fn键旁边哪个就是你所需要的了,如果你不是笔记本那么Ctrl键旁边哪个就是你所需要的按键了,接着输入cmd就像这样
然后点击Enter键或者叫回车键,然后复制粘贴以下代码并回车
pip install pillow
切记千万不能中途退出,因为他正在下载一个第三方库,一定要等他弹出这个
或者他说DownLoad Successfully 的绿色图标后就可以了
2.打开IDE编辑器
(Windows)此步骤需要你在下载好之后完成
在你下载编辑器完之后点击Win键,一般在键盘的左下角有个“Ctrl”键,旁边那个如果你是笔记本的话有可能会有一个“”Fn“键那么Fn键旁边哪个就是你所需要的了,如果你不是笔记本那么Ctrl键旁边哪个就是你所需要的按键了,然后你的电脑会弹出像这样
接下来在搜索栏里寻找IDLE就像这样
IDLE
然后点击打开,你会出现一下界面
点击左上角File键并在悬停下找到New File,并点击
然后弹出的窗口后,复制我最上面的那段代,复制完后直接点击Ctrl + S 保存代码到你想要的位置并且随意取你喜欢的名字最好不要有中文和空格,并且新建两个文件夹在和这个xxx.py同一个目录下
然后在Photos1中存放你所需要修改的照片,双击PS.py后就能完美使用了。