Предположим, у меня есть изображение 2322px x 4128px. Как его масштабировать так, чтобы ширина и высота были меньше 1028 пикселей?Python/Pillow: Как масштабировать изображение
Я не смогу использовать 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) и этот ответ (How do I resize an image using PIL and maintain its aspect ratio?), как ширина и высота для создания миниатюры. Есть ли какая-либо функция, которая принимает либо новую ширину, либо новую высоту (не оба) и масштабирует все изображение?
Где проблема с предоставлением ширины и высоты 'Image.thumbnail'? Вы хотите сделать именно это с помощью своего пользовательского кода. – famousgarkin