Python / Kissen: So skalieren Sie ein Bild

Angenommen, ich habe ein Bild mit 2322 x 4128 Pixel. Wie skaliere ich es so, dass sowohl die Breite als auch die Höhe weniger als 1028px betragen?

Ich werde nicht verwenden könnenImage.resize (https://pillow.readthedocs.io/en/latest/reference/Image.html#PIL.Image.Image.resize), da ich dafür sowohl die neue Breite als auch die neue Höhe angeben muss. Was ich vorhabe, ist (Pseudocode unten):

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)

Ich schätze, ich muss verwendenImage.thumbnail, aber nach diesem Beispiel (http://pillow.readthedocs.org/en/latest/reference/Image.html#create-thumbnails) und diese Antwort (Wie ändere ich die Größe eines Bildes mit PIL und behalte das Seitenverhältnis bei?) werden sowohl die Breite als auch die Höhe angegeben, um die Miniaturansicht zu erstellen. Gibt es eine Funktion, die entweder die neue Breite oder die neue Höhe (nicht beide) annimmt und das gesamte Bild skaliert?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage