Python / Pillow: как масштабировать изображение
Предположим, у меня есть изображение размером 2322px x 4128px. Как мне его масштабировать, чтобы ширина и высота были меньше 1028 пикселей?
Я не смогу использоватьImage.resize
(https://pillow.readthedocs.io/en/latest/reference/Image.html#PIL.Image.Image.resize) так как это требует от меня, чтобы дать новую ширину и высоту. Что я планирую сделать, это (псевдокод ниже):
if (image.width or image.height) > 1028:
if image.width > image.height:
tn_image = image.scale(make width of image 1028)
# since the height is less than the width and I am scaling the image
# and making the width less than 1028px, the height will surely be
# less than 1028px
else: #image's height is greater than it's width
tn_image = image.scale(make height of image 1028)
Я предполагаю, что мне нужно использоватьImage.thumbnail
, но согласно этому примеру (http://pillow.readthedocs.org/en/latest/reference/Image.html#create-thumbnails) и этот ответ (Как изменить размер изображения с помощью PIL и сохранить его соотношение сторон?), ширина и высота указаны для создания миниатюры. Есть ли какая-либо функция, которая принимает новую ширину или новую высоту (не обе) и масштабирует все изображение?