Python 批量等比例缩放图片并转换格式 简介
该功能是基于 Python 实现的自动化图像批量处理工具,可一次性对指定文件夹内的所有图片进行等比例尺寸缩放(避免图片变形)与格式转换双重操作,无需借助专业图像编辑软件手动单张调整,大幅提升图片优化、归档、适配不同展示场景的处理效率。
核心特性
批量高效处理:自动遍历目标文件夹(支持子文件夹递归查找),一次性识别所有待处理图片并批量执行缩放 + 格式转换操作,彻底替代人工重复操作,节省大量时间成本,适用于自媒体配图、网站素材、办公归档等大批量图片处理场景。
等比例缩放,保证图像不失真
智能等比例适配:可自定义目标宽度或高度(无需同时设置),工具自动按原图片宽高比计算对应尺寸,避免图片拉伸、变形,最大程度保留图片视觉协调性;
灵活配置参数:支持自定义缩放后的分辨率(如统一缩放到 800px 宽度、1080px 高度)、缩放质量,同时支持跳过小于目标尺寸的图片,避免无效处理。
多格式互转,适配不同需求
广泛兼容输入格式:支持 JPG/JPEG、PNG、BMP、TIFF 等常用图片格式作为源文件;
自由指定输出格式:可统一将所有图片转换为 JPG(占用空间小,适合传输)、PNG(支持透明背景,适合设计素材)、WebP(高压缩比,适合网页展示)等格式,满足不同场景的存储与展示需求。
高保真与灵活配置
画质保留:处理过程中最大程度保留原图片的色彩细节、清晰度,可自定义输出图片质量参数,平衡文件体积与视觉效果;
安全便捷:支持指定独立输出路径(不覆盖原文件)、按规则重命名输出文件(如添加缩放标识),无需担心原文件丢失,参数配置简单,非专业人员也能快速上手。
# encoding=utf8
”’
Python批量等比例缩放图片并转换格式
”’# 安装所需模块
# pip install pillowimport os
from PIL import Image# 定义方法
def setcutpic(per,icut,icuto):
”’图片等比例缩放并转jpg”’
if not os.path.exists(icuto):
os.makedirs(icuto)
files = os.listdir(icut)
for file in files:
file_in = icut + ‘/’ + file
file_out = icuto + ‘/’ + file.split(‘.’)[0] +’.jpg’
img = Image.open(file_in)
img = img.convert(‘RGB’)
width,height = img.size
se_width = int(width – width * (per / 100))
se_height = int(height – height * (per / 100))
picsa = img.resize((se_width,se_height))
picsa.save(file_out)
print(‘处理完成: ‘ + file_out)if __name__ == ‘__main__’:
# 缩小比例
per = 80 # 代表原图缩小80%
# 原始图片路径
icut = r’D:\image\icut’
# 缩小与转换后图片路径
icuto = r’D:\image\icuto’
# 执行方法
setcutpic(per,icut,icuto)
原创文章,作者:管理员,如若转载,请注明出处:https://www.devcn.cn/68.html