1. Zuschneiden von Bildern
Was ist Zuschneiden und wie wird es angewendet?
Also, lass uns damit anfangen, wie man Bilder zuschneidet und dreht. Diese Fähigkeit wird dir in verschiedenen Projekten nützlich sein – von der Erstellung von Grafiken für Websites bis hin zur Erstellung von Content für soziale Medien.
Zuschneiden eines Bildes ist wie das Entfernen unerwünschter Ränder eines Fotos, um sich auf das Hauptobjekt zu konzentrieren. Stell dir vor, du hast ein tolles Foto eines Sonnenuntergangs gemacht, aber am Rand sind einige neugierige Leute versehentlich ins Bild geraten. Zuschneiden hilft dir, sie loszuwerden (natürlich virtuell) ohne großes Aufsehen!
Die Methode crop()
Die Methode crop()
nimmt die Koordinaten eines Rechtecks, das du aus dem Bild ausschneiden möchtest. Die Koordinaten werden als vier Werte angegeben: (links, oben, rechts, unten)
.
# Zuschneiden eines Bildes
cropped_image = image.crop((100, 100, 400, 400))
# Speichern des zugeschnittenen Bildes
cropped_image.save("cropped_example.jpg")
In diesem Beispiel wird das Bild auf einen Bereich mit der oberen linken Ecke bei (100, 100)
und der unteren rechten Ecke bei (400, 400)
zugeschnitten. Diese Methode erstellt ein neues Bild aus dem angegebenen Teil des ursprünglichen Bildes.
Dynamisches Zuschneiden basierend auf Bildgröße
Wenn du ein Bild auf die Mitte zuschneiden möchtest, kannst du die Koordinaten des Zuschnitts basierend auf dessen Größe berechnen:
width, height = image.size
left = (width - 200) / 2
top = (height - 200) / 2
right = (width + 200) / 2
bottom = (height + 200) / 2
center_cropped_image = image.crop((left, top, right, bottom))
center_cropped_image.save("center_cropped_example.jpg")
Dieser Code schneidet den mittleren Bereich des Bildes von 200x200 Pixeln aus. Die Berechnung der Koordinaten stellt sicher, dass der zugeschnittene Bereich in der Mitte des Bildes liegt.
2. Drehen eines Bildes
Durch das Drehen eines Bildes kannst du dessen Ausrichtung ändern, was besonders nützlich ist, wenn ein Foto in der falschen Ausrichtung aufgenommen wurde oder ein künstlerischer Effekt erzeugt werden soll.
Die Methode rotate()
Die Methode rotate()
dreht ein Bild um den angegebenen Winkel im Gegenuhrzeigersinn. Der Winkel wird in Grad angegeben, und die Methode erstellt ein neues gedrehtes Bild.
# Drehen eines Bildes um 90 Grad gegen den Uhrzeigersinn
rotated_image = image.rotate(90)
rotated_image.save("rotated_90_example.jpg")
In diesem Beispiel wird das Bild um 90 Grad gegen den Uhrzeigersinn gedreht. Du kannst auch einen anderen Drehwinkel angeben (z. B. 45, 180 oder 270 Grad), um das gewünschte Ergebnis zu erzielen.
Handling von weißen Rändern beim Drehen
Standardmäßig fügt rotate()
weiße Ränder (oder transparente, wenn der RGBA-Modus verwendet wird) an den Bildrändern hinzu, um den gesamten Inhalt beizubehalten. Wenn du möchtest, dass das Bild den gesamten Rahmen ohne Ränder ausfüllt, verwende den Parameter expand=True
.
# Drehen mit Erweiterung, damit das Bild den gesamten Rahmen ausfüllt
rotated_expanded_image = image.rotate(45, expand=True)
rotated_expanded_image.save("rotated_expanded_example.jpg")
In diesem Fall wird Pillow die Bildgröße erhöhen, um den gesamten Inhalt unterzubringen, was bei Drehungen um ungerade Winkel (z. B. 45 Grad) nützlich ist.
3. Spiegeln eines Bildes
Spiegeln ermöglicht es dir, ein Bild horizontal oder vertikal zu drehen. Dies ist praktisch, wenn du die Richtung eines Objekts auf einem Foto ändern oder einen symmetrischen Effekt erzeugen möchtest.
Die Methode transpose()
Die Methode transpose()
wird für das Spiegeln verwendet und unterstützt folgende Parameter:
Image.FLIP_LEFT_RIGHT
: Horizontales Spiegeln.Image.FLIP_TOP_BOTTOM
: Vertikales Spiegeln.
# Horizontales Spiegeln
flipped_horizontal = image.transpose(Image.FLIP_LEFT_RIGHT)
flipped_horizontal.save("flipped_horizontal_example.jpg")
# Vertikales Spiegeln
flipped_vertical = image.transpose(Image.FLIP_TOP_BOTTOM)
flipped_vertical.save("flipped_vertical_example.jpg")
Diese Befehle drehen das Bild horizontal und vertikal, was für verschiedene Effekte oder zur Korrektur der Ausrichtung verwendet werden kann.
Praktische Beispiele: Zuschneiden, Drehen und Spiegeln
- Fokussieren auf bestimmte Bildbereiche: Zuschneiden hebt den benötigten Bildteil hervor, was beim Erstellen von Porträts, dem Entfernen überflüssiger Details und der Vorbereitung von Bildern für soziale Medien oder Websites nützlich ist.
- Korrektur der Bildausrichtung: Drehen wird verwendet, um die Ausrichtung des Fotos zu korrigieren, insbesondere wenn das Gerät es in der falschen Position aufgenommen hat. Ein Beispiel hierfür ist die Korrektur eines im Querformat aufgenommenen Bildes für eine Veröffentlichung im Hochformat.
- Erzeugung symmetrischer Effekte: Spiegeln wird häufig beim Design verwendet, um symmetrische Bilder, interessante visuelle Effekte und eine bessere Komposition zu erstellen.
4. Typische Fehler und wie man sie vermeidet
Beim Arbeiten mit Pillow treten manchmal Fehler auf, mit denen wahrscheinlich jeder Anfänger konfrontiert wird. Einer dieser Fehler ist der Versuch, ein Bild außerhalb seiner tatsächlichen Abmessungen zuzuschneiden. Überprüfe immer die Bildgröße und stelle sicher, dass die Zuschnittkoordinaten innerhalb dieser Abmessungen liegen.
Ein weiteres Problem besteht darin, dass ein Bild beim Drehen abgeschnitten erscheinen kann, wenn du die Methode `rotate` ohne zusätzliche Einstellungen verwendest. Dies geschieht, weil sich die Bildgröße beim Drehen ändert. Um dies zu vermeiden, verwende den Parameter expand=True
, der die Größe automatisch anpasst:
# Drehen eines Bildes um 45 Grad mit Erweiterung, um das Abschneiden von Ecken zu vermeiden
rotated_image = image.rotate(45, expand=True)
rotated_image.save("rotated_expanded.jpg")
GO TO FULL VERSION