3 回复
from PIL import Image
import os
def resize_jpg(input_path, output_path, max_size=(800, 600), quality=85):
"""
缩小JPG图片尺寸
参数:
input_path: 输入图片路径
output_path: 输出图片路径
max_size: 最大尺寸 (宽, 高),保持比例缩放
quality: 输出质量 (1-100)
"""
try:
# 打开图片
with Image.open(input_path) as img:
# 保持宽高比计算新尺寸
img.thumbnail(max_size, Image.Resampling.LANCZOS)
# 保存图片
img.save(output_path, 'JPEG', quality=quality, optimize=True)
print(f"图片已保存至: {output_path}")
print(f"原始尺寸: {img.size}")
except FileNotFoundError:
print(f"错误: 找不到文件 {input_path}")
except Exception as e:
print(f"处理图片时出错: {e}")
# 使用示例
if __name__ == "__main__":
# 示例1: 指定最大尺寸
resize_jpg("input.jpg", "output_small.jpg", max_size=(800, 600))
# 示例2: 只限制宽度,高度自动计算
resize_jpg("input.jpg", "output_width.jpg", max_size=(1024, 9999))
# 示例3: 批量处理
input_files = ["photo1.jpg", "photo2.jpg", "photo3.jpg"]
for i, file in enumerate(input_files):
if os.path.exists(file):
output_file = f"resized_{file}"
resize_jpg(file, output_file, max_size=(1200, 800))
这个代码用了PIL库(Pillow),先装一下:pip install Pillow。
thumbnail()方法会保持图片比例缩放到不超过指定尺寸,LANCZOS重采样效果最好。quality参数控制压缩质量,85是个不错的平衡点。optimize=True会进行额外优化减小文件大小。
批量处理时注意检查文件是否存在,避免程序崩溃。
软件可以 Permute,如果你说的是库什么的不了解
请问是哪家的软件? 搜了一下不甚明了.

