Предположим, у меня есть изображение размером 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 height is greater than it width
tn_image = image.scale(make height of image 1028)
Я предполагаю, что мне нужно использовать Image.thumbnail
, но в соответствии с этим примером (http://pillow.readthedocs.org/en/latest/reference/Image.html#create-thumbnails) и этим ответом (Как изменить размер изображения с помощью PIL и сохранить его соотношение сторон?), ширина и высота указаны для создания миниатюры. Есть ли какая-либо функция, которая принимает новую ширину или новую высоту (не обе) и масштабирует все изображение?