怎么用python将图片原比例缩小

2024-04-16

要将图片按照原比例缩小,可以使用PIL库(Pillow库)来实现。以下是一个示例代码:

from PIL import Image

def resize_image(input_image_path, output_image_path, max_size):
    original_image = Image.open(input_image_path)
    
    # 计算原图片的宽高比
    aspect_ratio = original_image.width / original_image.height
    
    # 根据原比例缩放图片
    if original_image.width > original_image.height:
        new_width = max_size
        new_height = int(max_size / aspect_ratio)
    else:
        new_height = max_size
        new_width = int(max_size * aspect_ratio)
    
    resized_image = original_image.resize((new_width, new_height))
    
    # 保存缩小后的图片
    resized_image.save(output_image_path)

input_image_path = "input.jpg"
output_image_path = "output.jpg"
max_size = 500

resize_image(input_image_path, output_image_path, max_size)

在上面的代码中,我们首先导入PIL库,然后定义了一个resize_image函数,该函数接受输入图片路径、输出图片路径和最大尺寸作为参数。函数内部打开原始图片,计算原始图片的宽高比,然后根据原比例和最大尺寸计算出缩小后的图片尺寸,最后调用resize方法对原图片进行缩小处理并保存为新图片。

你只需要将代码中的input_image_path替换为你的图片路径,output_image_path替换为输出图片路径,max_size替换为你希望缩小到的最大尺寸即可。然后运行代码即可按照原比例缩小图片。