Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich die Größe von Bildern mit PIL ändern und dabei das Seitenverhältnis beibehalten?

Wie kann ich die Größe von Bildern mit PIL ändern und dabei das Seitenverhältnis beibehalten?

Susan Sarandon
Freigeben: 2024-12-11 08:26:09
Original
786 Leute haben es durchsucht

How to Resize Images with PIL While Maintaining Aspect Ratio?

Größe von Bildern mit PIL ändern und gleichzeitig das Seitenverhältnis beibehalten

Beim Erstellen von Miniaturansichten kann es entscheidend sein, das ursprüngliche Seitenverhältnis der Bilder beizubehalten. In diesem Artikel erfahren Sie, wie Sie dies mithilfe der Python Imaging Library (PIL) erreichen.

Ansatz:

  1. Maximale Größe definieren :Bestimmen Sie die gewünschte maximale Breite und Höhe für Ihre Miniaturansichten.
  2. Größenänderung berechnen Verhältnis: Berechnen Sie das minimale Skalierungsverhältnis, indem Sie das kleinere der Verhältnisse maxwidth/width und maxheight/height ermitteln.
  3. Neue Größe berechnen: Multiplizieren Sie die Originalgröße mit dem berechneten Verhältnis zu Erhalten Sie die richtige Größe für das Miniaturbild.

Alternative Methode mit PIL Bibliothek:

PIL stellt die speziell für diesen Zweck entwickelte Methode Image.thumbnail() bereit. Es nimmt die maximale Größe als Argument und passt die Bildgröße automatisch an, während das Seitenverhältnis beibehalten wird.

Hier ist ein Beispiel aus der PIL-Dokumentation:

import os, sys
import Image

size = 128, 128

for infile in sys.argv[1:]:
    outfile = os.path.splitext(infile)[0] + ".thumbnail"
    if infile != outfile:
        try:
            im = Image.open(infile)
            im.thumbnail(size, Image.Resampling.LANCZOS)
            im.save(outfile, "JPEG")
        except IOError:
            print "cannot create thumbnail for '%s'" % infile
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich die Größe von Bildern mit PIL ändern und dabei das Seitenverhältnis beibehalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage