我想創建並在我的項目中userProfile
模型保存原始用戶圖像時保存的縮略圖,下面是我的代碼:爲什麼PIL縮略圖不能正確調整大小?
def save(self, *args, **kwargs):
super(UserProfile, self).save(*args, **kwargs)
THUMB_SIZE = 45, 45
image = Image.open(join(MEDIA_ROOT, self.headshot.name))
fn, ext = os.path.splitext(self.headshot.name)
image.thumbnail(THUMB_SIZE, Image.ANTIALIAS)
thumb_fn = fn + '-thumb' + ext
tf = NamedTemporaryFile()
image.save(tf.name, 'JPEG')
self.headshot_thumb.save(thumb_fn, File(open(tf.name)), save=False)
tf.close()
super(UserProfile, self).save(*args, **kwargs)
,任何東西都工作正常,只是這樣一兩件事。
問題是縮略圖功能只將寬度設置爲45
,並且不會更改圖像的比例方面,因此我正在爲我測試的圖像(短圖像)獲取45*35
的圖像。
任何人都可以告訴我我做錯了什麼?如何強制我想要的寬高比?
P.S .:我已經嘗試了尺寸的所有方法:tupal: THUMB_SIZE = (45, 45)
並將尺寸直接輸入縮略圖功能。
另一個問題:PIL中調整大小和縮略圖函數之間的區別是什麼?何時使用調整大小以及何時使用縮略圖?
見http://www.pythonware.com/library/pil/handbook/image.htm#Image.thumbnail – Exelian 2011-05-30 14:57:20
好,我會附上鍊接我的答案=) – BFil 2011-05-30 15:01:01
10倍,但我也嘗試過image.resize(THUMB_SIZE,Image.ANTIALIAS),其中THUMB_RESIZE是一個tupal(THUMB_RESIZE =(45,45),它現在沒有調整大小...任何東西別的在這裏? (這是我讀的鏈接)...謝謝:-) – Erez 2011-05-30 16:16:05