From cc9537bb78a27fb77a9f05c07cafecf971680ea6 Mon Sep 17 00:00:00 2001 From: strannik-j Date: Tue, 29 Dec 2020 23:42:34 +0300 Subject: [PATCH] Added saving of exif image data when resizing it using pillow. This allows you load images with proper orientation. Not only landscape but also portrait. --- telethon/client/uploads.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/telethon/client/uploads.py b/telethon/client/uploads.py index 8736d31b..cc951461 100644 --- a/telethon/client/uploads.py +++ b/telethon/client/uploads.py @@ -53,6 +53,7 @@ def _resize_photo_if_needed( # Don't use a `with` block for `image`, or `file` would be closed. # See https://github.com/LonamiWebs/Telethon/issues/1121 for more. image = PIL.Image.open(file) + exif = image.info['exif'] if image.width <= width and image.height <= height: return file @@ -72,7 +73,7 @@ def _resize_photo_if_needed( result.paste(image, mask=image.split()[alpha_index]) buffer = io.BytesIO() - result.save(buffer, 'JPEG') + result.save(buffer, 'JPEG', exif=exif) buffer.seek(0) return buffer