万普插件库

jQuery插件大全与特效教程

【python】批量缩放图片比例_python图片缩小到指定像素

功能:

对目标目录下的所有图片按比例进行缩放,缩放后的图片保存到指定目录。

实现脚本:

import os
from PIL import Image

def resize_images(input_folder, output_folder, scale_percent=13):
    """
    批量缩小图片至指定百分比
    :param input_folder: 输入图片文件夹路径
    :param output_folder: 输出图片文件夹路径
    :param scale_percent: 缩放百分比(默认13%)
    """
    # 确保输出文件夹存在
    os.makedirs(output_folder, exist_ok=True)
    
    # 支持的图片格式
    valid_extensions = ('.jpg', '.jpeg', '.png', '.webp', '.bmp', '.tiff')
    
    # 遍历输入文件夹中的所有文件
    for filename in os.listdir(input_folder):
        # 检查文件是否为图片
        if filename.lower().endswith(valid_extensions):
            input_path = os.path.join(input_folder, filename)
            output_path = os.path.join(output_folder, filename)
            
            try:
                # 打开图片并计算新尺寸
                with Image.open(input_path) as img:
                    # 计算新尺寸(保持宽高比)
                    width, height = img.size
                    new_width = int(width * scale_percent / 100)
                    new_height = int(height * scale_percent / 100)
                    
                    # 高质量缩小图片(使用LANCZOS重采样)
                    resized_img = img.resize(
                        (new_width, new_height),
                        resample=Image.LANCZOS
                    )
                    
                    # 保存图片(保持原始格式和质量)
                    if img.format == 'JPEG':
                        resized_img.save(output_path, 'JPEG', quality=95)
                    else:
                        resized_img.save(output_path)
                    
                    print(f" 已处理: {filename} [{width}x{height}] -> [{new_width}x{new_height}]")
            
            except Exception as e:
                print(f" 处理失败 {filename}: {str(e)}")

if __name__ == "__main__":
    # 配置参数
    INPUT_FOLDER = r"D:\原始图片"  # 替换为你的输入文件夹路径
    OUTPUT_FOLDER = r"D:\原始图片"  # 替换为你的输出文件夹路径
    SCALE_PERCENT = 13  # 缩放百分比
    
    # 执行批量处理
    resize_images(INPUT_FOLDER, OUTPUT_FOLDER, SCALE_PERCENT)
    print("\n批量处理完成!")

实现效果:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言