Python学习笔记——PIL(pillow)库之实现截图功能

需要安装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)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值