Apply image orientation metadata before resizing. (#345)

This commit is contained in:
Tyler Kennedy 2023-01-01 13:40:56 -05:00 committed by GitHub
parent 5f1d7b5253
commit b19f05859d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 0 deletions

View File

@ -24,6 +24,16 @@ def resize_image(
to fit if needed) to fit if needed)
""" """
with Image.open(image) as img: with Image.open(image) as img:
try:
# Take any orientation EXIF data, apply it, and strip the
# orientation data from the new image.
img = ImageOps.exif_transpose(img)
except Exception: # noqa
# exif_transpose can crash with different errors depending on
# the EXIF keys. Just ignore them all, better to have a rotated
# image than no image.
pass
if cover: if cover:
resized_image = ImageOps.fit(img, size, method=Image.Resampling.BILINEAR) resized_image = ImageOps.fit(img, size, method=Image.Resampling.BILINEAR)
else: else: