要将图片按照原比例缩小,可以使用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替换为你希望缩小到的最大尺寸即可。然后运行代码即可按照原比例缩小图片。