要將圖片按照原比例縮小,可以使用PIL庫(kù)(Pillow庫(kù))來(lái)實(shí)現(xiàn)。以下是一個(gè)示例代碼:
from PIL import Image
def resize_image(input_image_path, output_image_path, max_size):
original_image = Image.open(input_image_path)
# 計(jì)算原圖片的寬高比
aspect_ratio = original_image.width / original_image.height
# 根據(jù)原比例縮放圖片
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)
在上面的代碼中,我們首先導(dǎo)入PIL庫(kù),然后定義了一個(gè)resize_image函數(shù),該函數(shù)接受輸入圖片路徑、輸出圖片路徑和最大尺寸作為參數(shù)。函數(shù)內(nèi)部打開(kāi)原始圖片,計(jì)算原始圖片的寬高比,然后根據(jù)原比例和最大尺寸計(jì)算出縮小后的圖片尺寸,最后調(diào)用resize方法對(duì)原圖片進(jìn)行縮小處理并保存為新圖片。
你只需要將代碼中的input_image_path替換為你的圖片路徑,output_image_path替換為輸出圖片路徑,max_size替換為你希望縮小到的最大尺寸即可。然后運(yùn)行代碼即可按照原比例縮小圖片。