Python轻松实现图片批量缩放

目录

  • 引言
  • 思路
  • 代码
  • 效果

引言

最近的马原线上考试要将答卷一张张截图然后插入到word文档中,总共有几十张截图,尝试了整个过程感觉特别麻烦。想找找word中有没有批量设置图片大小的方法,然而在word2019中并没有这操作( ╯□╰ ),遂决定写个批量缩放图片的python程序。参考了网上的教程后成功把它实现出来了

思路

  • 缩放一张图:调用PIL库Image子库中的函数读取图片,之后使用resize()函数指定图片大小,最后保存图片到指定路径(这里用到了os库)【读取、缩放、保存】
  • 图片批量缩放:调用glob模块(标准库)的glob()函数获取指定目录下的所有图片,一个for循环就可批量缩放图片

代码

from PIL import Image
import os
import glob


def convertPic(pic, saveDir, width=210, height=425):   # 设置宽为210像素,高为425像素(对应宽5.5cm,高11cm)
    try:
        img = Image.open(pic)    # 读取图片
        new_img = img.resize((width, height), Image.ANTIALIAS)  # 高质量缩放图片
        new_img.save(os.path.join(saveDir, os.path.basename(pic)))  # 保存图片
    except:
        print("出错")
        import traceback         # 打印错误
        traceback.print_exception()

        
def main():
    picDir = "/".join(input("图片目录:").split("\\")) + "/"    # 将复制输入的目录转为合法格式
    saveDir = "/".join(input("保存目录:").split("\\")) + "/"
    for pic in glob.glob(picDir+"*.png"):       # 调用glob模块获取该目录下的所有图片
        convertPic(pic, saveDir)


main()

效果

原图
Python轻松实现图片批量缩放_第1张图片
转换后的图
Python轻松实现图片批量缩放_第2张图片
这样批量设置图片为同样大小后,再插入word中就轻松多了
参考:脚本之家

你可能感兴趣的:(Python轻松实现图片批量缩放)