2015-02-11 78 views
3

我想使用Python根據以下2個條件調整任何圖像的大小。當兩邊大於1280時使用Python調整圖像大小

1)如果圖像是橫向,則獲取寬度,如果大於1280調整圖像寬度爲1280 保持縱橫比

2)如果圖像是肖像,得到高度,如果大於1280大小調整高度爲1280 保持縱橫比

在Python中最好的包裝/方法是什麼?不知道如何使用這個是我看到它的工作原理。

僞代碼:

If image.height > image.width: 
    size = image.height 

If image.height < image.width: 
    size = image.width 

If size > 1280: 
    resize maintaining aspect ratio 

我看着Pillow(PIL)。

回答

2

您可以通過PIL做到這一點,是這樣的:

import Image 

MAX_SIZE = 1280 
image = Image.open(image_path) 
original_size = max(image.size[0], image.size[1]) 

if original_size >= MAX_SIZE: 
    resized_file = open(image_path.split('.')[0] + '_resized.jpg', "w") 
    if (image.size[0] > image.size[1]): 
     resized_width = MAX_SIZE 
     resized_height = int(round((MAX_SIZE/float(image.size[0]))*image.size[1])) 
    else: 
     resized_height = MAX_SIZE 
     resized_width = int(round((MAX_SIZE/float(image.size[1]))*image.size[0])) 

    image = image.resize((resized_width, resized_height), Image.ANTIALIAS) 
    image.save(resized_file, 'JPEG') 

Additionaly,您可以刪除原始圖像和重命名調整。

+0

你能解釋一下你的代碼嗎? – kn3l 2015-08-12 11:30:53

相關問題