Heim > Backend-Entwicklung > Python-Tutorial > Wie kann PIL verwendet werden, um die Größe von Bildern zu ändern und gleichzeitig das Seitenverhältnis beizubehalten?

Wie kann PIL verwendet werden, um die Größe von Bildern zu ändern und gleichzeitig das Seitenverhältnis beizubehalten?

Linda Hamilton
Freigeben: 2024-12-08 03:51:12
Original
234 Leute haben es durchsucht

How Can PIL Be Used to Resize Images While Preserving Aspect Ratio?

Größenänderung von Bildern mit Beibehaltung des Seitenverhältnisses mithilfe von PIL

Beim Erstellen von Miniaturansichten oder beim Neuskalieren von Bildern ist die Beibehaltung des Seitenverhältnisses entscheidend, um die Bildtreue zu bewahren. PIL bietet eine unkomplizierte Methode, um dies zu erreichen und gleichzeitig die Breiten- und Höhenabmessungen dynamisch anzupassen.

Um die Größe eines Bildes mit PIL zu ändern und dabei das Seitenverhältnis beizubehalten, befolgen Sie diese Schritte:

  1. Definieren Sie eine maximale Größe: Bestimmen Sie die gewünschte maximale Größe für das geänderte Bild in Bezug auf Breite und Höhe.
  2. Größenänderungsverhältnis berechnen: Berechnen Sie das Größenänderungsverhältnis, indem Sie den Mindestwert zwischen der maximalen Breite dividiert durch die Originalbildbreite und der maximalen Höhe dividiert durch die Originalbildhöhe nehmen. Dieses Verhältnis stellt sicher, dass die Bildgröße proportional geändert wird.
  3. Neue Größe berechnen: Berechnen Sie die neue Bildgröße, indem Sie die ursprüngliche Bildgröße mit dem Größenänderungsverhältnis multiplizieren.

Der Einfachheit halber bietet PIL eine Methode, die speziell für die Größenänderung von Bildern unter Beibehaltung ihres Seitenverhältnisses entwickelt wurde: Image.thumbnail. Hier ist ein Beispiel aus der PIL-Dokumentation, das die Verwendung von Image.thumbnail zum Erstellen von Miniaturansichten zeigt:

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

Dieses Beispiel zeigt, wie Sie Image.thumbnail verwenden, um Miniaturansichten aus einer Liste von Eingabebildern zu erstellen und dabei deren Aussehen beizubehalten Verhältnis und stellen Sie sicher, dass die endgültige Größe innerhalb der angegebenen Abmessungen liegt.

Das obige ist der detaillierte Inhalt vonWie kann PIL verwendet werden, um die Größe von Bildern zu ändern und gleichzeitig das Seitenverhältnis beizubehalten?. 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