Поддерживает ли Python PIL resize соотношение сторон?


Изменяет ли PIL размер до точных размеров, которые я ему даю, несмотря ни на что? Или он попытается сохранить соотношение сторон, если я дам ему что-то вроде аргумента Image.ANTIALIAS?

3 5

3 ответа:

Как изменить размер изображения с помощью PIL и сохранить его соотношение сторон?

Изображение.размер от пил сделаем так, как сказал. Никакого закулисного соотношения сторон.

Да, он будет сохранять соотношение сторон с помощью метода thumbnail :

image = Image.open(source_path)
image.thumbnail(size, Image.ANTIALIAS)
image.save(dest_path, "JPEG")

Да. метод thumbnail () - это то, что нужно здесь... Одна вещь, которая не была упомянута в этом или других сообщениях на эту тему, заключается в том, что "размер" должен быть либо списком, либо кортежем. Таким образом, чтобы изменить размер до максимального размера 500 пикселей, вы бы назвали: изображение.миниатюра ((500,500), изображение.ANTIALIAS)

Смотрите также этот пост на эту тему: Как изменить размер изображения с помощью PIL и сохранить его соотношение сторон?