2016-02-06 52 views
1

我在Image.rotate()Image.rotate()PIL上時間很糟糕,直到我決定檢查一個終端發生了什麼事情。這是我做過什麼:Image.rotate在PIL /枕頭2.8.1和3.1.1上的區別

的Python 2,枕頭(2.8.1)

from PIL import Image 
im = Image.new('RGB', (800, 500)) 
im.size 
out = im.rotate(90) 
out.size 

輸出(如預期):

>> (800, 500) 
>> (500, 800) 

的Python 3,枕頭(3.1.1 )

from PIL import Image 
im = Image.new('RGB', (800, 500)) 
im.size 
out = im.rotate(90) 
out.size 

產量:

>> (800, 500) 
>> (800, 500) 

而且我認爲這是在枕頭3X中調用旋轉的正確方法。這裏是該功能的文檔:
Image.Rotate()我錯過了什麼嗎?

+0

https://github.com/python-pillow/Pillow/issues/1500 –

+0

@rmn非常感謝你。我想知道我是如何在我做的搜索中錯過的。如果你發佈並回答,我會接受它。 – gglasses

回答

0

這是Pillow < = 2.9.0中的一個錯誤,修正爲3.0.0。如果您希望圖片在旋轉時更改大小,則需要包含expand參數,例如img.rotate(-90,expand = 1)。詳情請參閱this issue