要將圖片按照原比例縮小,可以使用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替換為你希望縮小到的最大尺寸即可。然后運行代碼即可按照原比例縮小圖片。