使用Python对图片大小进行批处理
在日常生活中,我们经常会遇到需要对大量图片的大小进行批处理的场景(例如本博客上传图片大小的限定在2Mb之下)。因此有必要使用到图片批处理的软件,但互联网上的图片大小批软件动辄会附带一堆软件(可能含有病毒),其实,使用Python就可以很方便的解决该问题,现附Python程序如下:
# -*- coding: utf-8 -*-
"""
Created on Sun Jun 3 10:52:13 2022
@author: zhangfan
"""
'''引入必要的模块'''
from PIL import Image
import os,time
'''读取当前文件夹下的所有图片文件'''
File=os.listdir(".")
Result=[]
ImgType=["jpg","jpeg","png","bmp","gif","JPG","JPEG","BMP","GIF"] #要识别的图片类型
"""读取图片文件地址"""
for file in File:
for _type in ImgType:
if _type in file :
Result.append(file)
def Resize():
'''用户输入参数读取'''
mode=input("定宽度批处理请输入0,定高度批处理请输入1(默认为定宽处理)!\n>>")
Size=input("请输入图片限定值大小(默认为1000)!\n>>")
'''如果采用默认设置'''
if mode == "":
mode="0"
if Size == "":
Size="1000"
'''新建一个保存修改后图片的文件夹'''
if not os.path.exists(".\\处理完的图片"):
os.makedirs(".\\处理完的图片")
for img in Result:
outfile = ".\\处理完的图片\\"+ img.split(".")[0] +".png"
im = Image.open(img)
(x,y) = im.size #read image size
if int(mode)==1 : #定高度模式
Y=int(Size)
X=int(x*Y/y)
else: #定宽度模式
X=int(Size)
Y=int(y*X/x)
out = im.resize((X,Y),Image.ANTIALIAS) #resize image with high-quality
out.save(outfile) #保存修改后的图片
os.remove(img) #删除原图片,请注意备份
print("识别到 ",len(Result)," 张图片!")
if len(Result)>0:
Resize()
else:
time.sleep(3)
转载请说明文章来源,文章作者:auroraus,原文章地址:http://www.auroraus.cn/2022/06/113
THE END
0
二维码
打赏
海报
使用Python对图片大小进行批处理
在日常生活中,我们经常会遇到需要对大量图片的大小进行批处理的场景(例如本博客上传图片大小的限定在2Mb之下)。因此有必要使用到图片批处理的软件,但互联……
文章目录
关闭
共有 0 条评论