URL-QR-Code erzeugen mit zusätzlichem Klartext im Bild
Verfasst: Sonntag 18. Februar 2024, 09:43
Hallo zusammen,
ich bin Python Anfänger und möchte gerne ein Python-Programm schreiben, das folgendes leistet:
1. Es soll ein QR-Code von einer URL erzeugt werden. Der QR-Code soll als png-Datei ausgegeben und gespeichert werden. Das hat soweit auch geklappt.
2. In der erzeugten png-Datei soll nicht nur der QR-Code stehen, sondern zusätzlich die kodierte URL im Klartext darunter. Das hat leider trotz vieler Versuche bisher nicht funktioniert.
Wer kann mir helfen, das Projekt zu realisieren?
Hier der Code den ich zuletzt erfoglos ausprobiert habe:
import qrcode
from PIL import Image, ImageDraw, ImageFont
# Die URL, die im QR-Code enthalten sein soll
url = "https://www.example.com"
# QR-Code generieren
qr = qrcode.make(url)
# URL im Klartext
klartext = f"URL: {url}"
# QR-Code und Klartext zusammenfügen
img = qr.get_image()
draw = ImageDraw.Draw(img)
font = ImageFont.load_default() # Du kannst auch eine andere Schriftart verwenden
# Größe des Textes ermitteln
font = ImageFont.load_default()
text_width, text_height = draw.textsize(klartext, font=font)
# Textposition berechnen
text_x = (img.width - text_width) // 2
text_y = img.height + 10
# Text zeichnen
draw.text((text_x, text_y), klartext, font=font)
# Bild speichern
img.save("qrcode_mit_klartext.png")
Ich bekomme beim Ausführen folgende Fehlermeldung:
Traceback (most recent call last):
File "C:\Python312\QR-Code-15.py", line 20, in <module>
text_width, text_height = draw.textsize(klartext, font=font)
AttributeError: 'ImageDraw' object has no attribute 'textsize'
ich bin Python Anfänger und möchte gerne ein Python-Programm schreiben, das folgendes leistet:
1. Es soll ein QR-Code von einer URL erzeugt werden. Der QR-Code soll als png-Datei ausgegeben und gespeichert werden. Das hat soweit auch geklappt.
2. In der erzeugten png-Datei soll nicht nur der QR-Code stehen, sondern zusätzlich die kodierte URL im Klartext darunter. Das hat leider trotz vieler Versuche bisher nicht funktioniert.
Wer kann mir helfen, das Projekt zu realisieren?
Hier der Code den ich zuletzt erfoglos ausprobiert habe:
import qrcode
from PIL import Image, ImageDraw, ImageFont
# Die URL, die im QR-Code enthalten sein soll
url = "https://www.example.com"
# QR-Code generieren
qr = qrcode.make(url)
# URL im Klartext
klartext = f"URL: {url}"
# QR-Code und Klartext zusammenfügen
img = qr.get_image()
draw = ImageDraw.Draw(img)
font = ImageFont.load_default() # Du kannst auch eine andere Schriftart verwenden
# Größe des Textes ermitteln
font = ImageFont.load_default()
text_width, text_height = draw.textsize(klartext, font=font)
# Textposition berechnen
text_x = (img.width - text_width) // 2
text_y = img.height + 10
# Text zeichnen
draw.text((text_x, text_y), klartext, font=font)
# Bild speichern
img.save("qrcode_mit_klartext.png")
Ich bekomme beim Ausführen folgende Fehlermeldung:
Traceback (most recent call last):
File "C:\Python312\QR-Code-15.py", line 20, in <module>
text_width, text_height = draw.textsize(klartext, font=font)
AttributeError: 'ImageDraw' object has no attribute 'textsize'