在用戶可以上傳照片的網站上作業。許多人都知道,未經編輯的 iPhone 照片使用“方向”EXIF 標簽來確定方向。在我的 PC 上,我無法上傳 .HEIC 檔案,并且由于 SSL 原因,如果我使用 manage.py runserver localhostIP:8000 也無法上傳檔案,因此除錯起來非常困難。查看 iPhone 照片上的 EXIF 資料,這似乎應該正確旋轉 iPhone 影像,但它們仍然以不正確的方向上傳,我無法真正查看 iPhone 照片在后端回傳的 EXIF 標記。
im = Image.open(self.content_media)
img_exif = im.getexif()
for key, val in img_exif.items():
print(val)
if "rotate 90 cw" in str(val).lower():
im.rotate(90)
if "rotate 180 cw" in str(val).lower():
im.rotate(180)
if "rotate 270 cw" in str(val).lower():
im.rotate(270)
這是我的一個具有媒體的模型的保存方法。
uj5u.com熱心網友回復:
from PIL import Image, ImageOps
image = Image.open(foo)
im = ImageOps.exif_transpose(image)
然后您可以執行任何壓縮/調整大小/重命名或您使用 PIL 的任何操作,但原生 iPhone 和三星照片將應用適當的旋轉。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/464718.html
