Açıklama: En-boy oranını koruyarak verilen değere göre resmi tekrar boyutlandırır.

Girdiler: img -> Image sınıfına ait bir resim, resizeDim -> Boyutlandırmada hangi eksenin esas alınacağı (en için 'width', boy için 'height'), newValue -> İstenilen eksenin yeni değeri

Çıktı: img -> Boyutlandırılmış yeni resim

Örnek (Boyu 120 piksel olan küçük resim (thumbnail) oluşturma):

import Image
import os
 
imageName = 'my_photo.png'
img = Image.open(imageName)
img = resizeImage(img, 'height', 120)
img.save(os.path.splitext(imageName)[0]+'_thumb'+saveExt)
os.remove(imageName) # eskisini kaldir

English description: Resizing an image in Python, e.g creating thumbnail images

Kaynak kod

def resizeImage(img, resizeDim = 'width', newValue = 100):
"""
En-boy oranini koruyarak verilen degere gore resmi tekrar boyutlandirir. 
 
Girdiler: img -> Image sinifina ait bir resim
          resizeDim -> Boyutlandirmada hangi eksenin esas alinacagi 
                        (en icin 'width', boy icin 'height')
          newValue -> Istenilen eksenin yeni degeri
 
Cikti:    img -> Boyutlandirilmis yeni resim
 
Ornek (Boyu 120 piksel olan kucuk resim (thumbnail) olusturma):
 
   import Image
   import os
 
   imageName = 'my_photo.png'
   img = Image.open(imageName)
   img = resizeImage(img, 'height', 120)
   img.save(os.path.splitext(imageName)[0] + '_thumb' + saveExt)
   os.remove(imageName) # eskisini kaldir
"""
 
    if resizeDim == 'width':
        newSize = (newValue,img.size[1]*newValue/img.size[0])
        img = img.resize(newSize,Image.ANTIALIAS)
        return img
    else:
        newSize = (img.size[0]*newValue/img.size[1],newValue)
        img = img.resize(newSize,Image.ANTIALIAS)
        return img