需要安装pillow库。
一、指定尺寸截图
from PIL import ImageGrab
# 参数说明
# 第一个参数 开始截图的x坐标
# 第二个参数 开始截图的y坐标
# 第三个参数 结束截图的x坐标
# 第四个参数 结束截图的y坐标
bbox = (760, 0, 1160, 1080)
im = ImageGrab.grab(bbox)
# 参数 保存截图文件的路径
im.save('as.png')
二、全屏截图
from PIL import ImageGrab
im = ImageGrab.grab()#无参数默认全屏截屏
im.save('01.png')
三、官方文档
ImageGrab Module - Pillow (PIL Fork) 10.0.1 documentation
四、指定尺寸截图
import os
from PIL import Image
list_file_name = os.listdir("待处理图片/")#遍历指定目录
for file_name in list_file_name:
print(file_name)
#读取照片
img = Image.open("待处理图片/"+file_name).convert("RGB")
#裁剪尺寸
weight = 120
height = 160
# 判断一下目标图片和标准图片相比,是宽了还是高了
if img.size[0] / img.size[1] < weight / height: # 图片偏高:宽度固定,截取中间的高度。
img = img.resize((weight, int((weight * img.size[1]) / img.size[0]))) # *****设置宽度固定,高度跟随宽度变化。*****
bbox = (0, int(img.size[1] - height) / 2, weight, int(img.size[1] - height) / 2 + height)
img = img.crop(bbox)
else: # 图片偏宽:高度固定,截取中间的宽度。
img = img.resize((int((height * img.size[0]) / img.size[1]), height)) # *****设置高度固定,宽度跟随高度变化。*****
bbox = (int(img.size[0] - weight) / 2, 0, int(img.size[0] - weight) / 2 + weight, height)
img = img.crop(bbox)
img.save(file_name)