2017-05-14 79 views
2

我很好奇爲什麼我的圖像不旋轉,它每次都以相同的位置結束。PIL - 圖像不旋轉

img = Image.open(r'C:\Users\Brett\Downloads\testing.jpg') 
exif_data = { 
    TAGS[k]: v 
    for k, v in img._getexif().items() 
    if k in TAGS 
} 
print(exif_data['Orientation']) 

輸出一個「6」

不管我多少度告訴圖像旋轉,它在相同的位置結束。

if exif_data['Orientation'] == 6: 
    img.rotate(90) 

if exif_data['Orientation'] == 6: 
    img.rotate(270) 

if exif_data['Orientation'] == 6: 
    img.rotate(180) 

我總是有圖像最終旋轉90度逆時針旋轉。我做了什麼明顯錯誤?

+2

您是否保存旋轉的圖像? – rfkortekaas

回答

4

從(DOCS

Image.rotate(角度,重新採樣= 0,展開= 0,中心=無,翻譯=無)

返回此圖像的經旋轉副本。此方法返回此圖像的副本,將其中心逆時針旋轉給定度數。

圖像未旋轉到位。您需要存儲從rotate()返回的圖像。可能是這樣的:

if exif_data['Orientation'] == 6: 
    new_image = img.rotate(180) 
+0

謝謝。有意義的是這樣。 – BrettJ

+1

是的,動詞'rotate'聽起來好像可能已經到位。也許他們應該把它稱爲「旋轉」? –