1. Text zu einem Bild hinzufügen
Um Text zu einem Bild hinzuzufügen, verwendet man in Pillow das Modul ImageDraw, das die Methode text() bereitstellt, um Text an bestimmten Koordinaten darzustellen.
Einfacher Text hinzufügen
from PIL import ImageDraw, ImageFont
# Zeichnen-Objekt erstellen
draw = ImageDraw.Draw(image)
# Text zum Bild hinzufügen
text = "Beispieltext"
draw.text((50, 50), text, fill="white")
# Bild mit Text speichern
image.save("text_example.jpg")
In diesem Beispiel wird der Text "Beispieltext" an die Koordinaten (50, 50) hinzugefügt. Mit dem Parameter fill wird die Textfarbe angegeben. Diese kann als String ("white", "black") oder im RGB-Format ((255, 255, 255)) angegeben werden.
Schriftart des Textes anpassen
Standardmäßig verwendet Pillow eine Standardschriftart. Um eine andere Schriftart auszuwählen und die Größe festzulegen, benutzt man ImageFont.truetype(). Stelle sicher, dass die Schriftart-Datei auf deinem System verfügbar ist.
# Schriftart laden
font = ImageFont.truetype("arial.ttf", 36)
# Text mit benutzerdefinierter Schriftart hinzufügen
draw.text((50, 100), text, font=font, fill="yellow")
image.save("text_custom_font_example.jpg")
Hier verwenden wir die Schriftart arial.ttf mit einer Größe von 36 Pixeln. Falls die benötigte Schriftart fehlt, kannst du sie herunterladen und den Pfad zur Datei angeben.
2. Wasserzeichen hinzufügen
Ein Wasserzeichen ist ein halbtransparenter Text oder ein Bild, das auf einem Foto überlagert wird, um es vor Vervielfältigung zu schützen. Es kann verwendet werden, um Logos oder Informationen über den Autor hinzuzufügen. Mit Pillow lässt sich ein einfaches Text-Wasserzeichen erstellen.
Text-Wasserzeichen
# Zeichnen-Objekt erstellen
draw = ImageDraw.Draw(image)
# Text und Schriftart für das Wasserzeichen
watermark_text = "© 2023 Meine Firma"
font = ImageFont.truetype("arial.ttf", 24)
# Koordinaten für die Platzierung des Wasserzeichens berechnen
width, height = image.size
text_width, text_height = draw.textsize(watermark_text, font=font)
x = width - text_width - 10
y = height - text_height - 10
# Wasserzeichen in der rechten unteren Ecke hinzufügen
draw.text((x, y), watermark_text, font=font, fill=(255, 255, 255, 128))
image.save("watermarked_example.jpg")
In diesem Beispiel wird das Text-Wasserzeichen in der rechten unteren Ecke des Bildes hinzugefügt. Wir berechnen x und y, damit das Wasserzeichen leicht von der Bildkante versetzt ist.
3. Grafische Elemente hinzufügen
Zusätzlich zum Text erlaubt es Pillow, grundlegende Grafikelemente wie Linien, Rechtecke, Kreise und Ellipsen zu zeichnen. Das ist nützlich, um Rahmen zu erstellen, Bereiche hervorzuheben und geometrische Formen hinzuzufügen.
Linien zeichnen
Zum Zeichnen von Linien verwendet man die Methode line(), die die Koordinaten des Start- und Endpunkts der Linie annimmt.
# Linie von der linken oberen Ecke zur rechten unteren Ecke zeichnen
draw.line((0, 0, width, height), fill="red", width=5)
image.save("line_example.jpg")
Dieser Code zeichnet eine rote Linie, die diagonal von der linken oberen zur rechten unteren Ecke des Bildes verläuft.
Rechtecke zeichnen
Ein Rechteck wird mit der Methode rectangle() gezeichnet, die die Koordinaten der oberen linken und unteren rechten Ecken annimmt.
# Rechteck zeichnen
draw.rectangle((50, 50, 200, 200), outline="blue", width=3)
image.save("rectangle_example.jpg")
Hier wird ein Rechteck mit einer blauen Umrandung und einer Linienbreite von 3 Pixeln erstellt. Du kannst auch den Parameter fill verwenden, um das Rechteck mit einer Farbe zu füllen.
Kreise und Ellipsen zeichnen
Mit der Methode ellipse() lassen sich Kreise und Ellipsen zeichnen. Um einen Kreis zu zeichnen, gibt man gleiche Breiten- und Höhenwerte an.
# Kreis zeichnen
draw.ellipse((150, 150, 250, 250), outline="green", width=4)
image.save("circle_example.jpg")
In diesem Beispiel wird ein Kreis mit dem Mittelpunkt bei (200, 200) erstellt. Bei unterschiedlichen Breiten- und Höhenwerten entsteht eine Ellipse.
Vielecke zeichnen
Um Vielecke zu zeichnen, verwendet man die Methode polygon(), die die Koordinaten der Ecken der Figur annimmt.
# Dreieck zeichnen
draw.polygon([(100, 100), (150, 50), (200, 100)], outline="purple", fill="orange")
image.save("polygon_example.jpg")
Dieser Code zeichnet ein Dreieck mit einer orangefarbenen Füllung und einer lilafarbenen Umrandung. Du kannst eine beliebige Form erstellen, indem du die Koordinaten ihrer Ecken angibst.
4. Beispiele
Beispiel für eine Komposition aus Text und Grafik
Wir kombinieren alles oben Genannte und erstellen ein Bild mit Text, Wasserzeichen und grafischen Elementen.
from PIL import Image, ImageDraw, ImageFont
# Bild laden
image = Image.open("example.jpg")
draw = ImageDraw.Draw(image)
# Text hinzufügen
font = ImageFont.truetype("arial.ttf", 36)
draw.text((50, 50), "Demo Text", font=font, fill="yellow")
# Wasserzeichen in der rechten unteren Ecke hinzufügen
watermark_text = "© 2023 Meine Firma"
font_watermark = ImageFont.truetype("arial.ttf", 24)
width, height = image.size
text_width, text_height = draw.textsize(watermark_text, font=font_watermark)
x = width - text_width - 10
y = height - text_height - 10
draw.text((x, y), watermark_text, font=font_watermark, fill=(255, 255, 255, 128))
# Linie, Rechteck und Kreis zeichnen
draw.line((0, 0, width, height), fill="red", width=5)
draw.rectangle((50, 50, 200, 200), outline="blue", width=3)
draw.ellipse((150, 150, 250, 250), outline="green", width=4)
# Ergebnis speichern
image.save("final_composition_example.jpg")
In diesem Beispiel wird ein Bild mit Text, Wasserzeichen und mehreren grafischen Elementen (Linie, Rechteck und Kreis) erstellt. Solche Kompositionen können für Präsentationen, Blogs und die Erstellung professionell gestalteter Bilder verwendet werden.
Praktische Anwendungen
- Bildmarkierung und Schutz: Wasserzeichen helfen, Bilder vor unbefugter Nutzung zu schützen, und mit Text kann man Informationen über den Autor oder das Unternehmen hinzufügen.
- Vorbereitung von Bildern für soziale Netzwerke: Durch das Hinzufügen von Text und Grafiken kann man Bilder für Veröffentlichungen vorbereiten und zusätzliche Informationen bereitstellen.
- Infografiken und Datenvisualisierung: Die Verwendung von grafischen Elementen wie Linien und Formen erlaubt es, einfache Diagramme und Grafiken zu erstellen. Pillow ist somit nützlich für die Erstellung von Infografiken.
GO TO FULL VERSION