Style python qrcode SVG imagePython

Python-Programme
Guest
 Style python qrcode SVG image

Post by Guest »

Ich verwende das Python-Modul "QRCode", um VCard-QR-Codes zu erstellen:
Https://github.com/lincolnloop/python-qrcode
Es funktioniert, aber ich möchte die QR -Code -Bilder im SVG -Format und erstellen, zum Beispiel, indem Sie die Farbe des QR -Codes definieren.
Nachdem die verknüpfte Dokumentation mit .png Format versucht hat, sind genügend Informationen, um dies zu erledigen. Aber nur schwarzer Code auf weißem Hintergrund - und ich kann die Informationen in den Dokumenten nicht verwenden, um die Farbe anzugeben. :

Code: Select all

import qrcode
import qrcode.image.svg

vcard_data = """BEGIN:VCARD
VERSION:3.0
...etc...
END:VCARD"""

factory = qrcode.image.svg.SvgPathImage
img = qrcode.make(vcard_data, image_factory=factory)

img.save(output_image) # full path and name of the .svg defined before
Bei Verwendung von .png kann ich Farben mit
ändern

Code: Select all

img = qr.make_image(fill_color=(12, 73, 114), back_color=(255, 255, 255))
...But Die gesamte PNG -Bilderstellung verwendet .Make_image , während das SVG mit .Make erstellt wird und das keine solchen Argumente annimmt.
Wie kann ich die Farbeinstellungen des resultierenden SVG anpassen? > Ich habe versucht, ein SVG mit .Make_image zu generieren, aber ich kann das nicht funktionieren. Alle Styling -Optionen scheinen auf Stylerdpilimage zu stützen, aber das scheint nur .png zu unterstützen. /Code> und ein Module_Drawer und ein color_mask funktionieren, aber soweit ich nicht für SVG erkennen kann. , aber es funktioniert nicht: < /p>
import qrcode
import qrcode.image.svg
from qrcode.image.styledpil import StyledPilImage
from qrcode.image.styles.moduledrawers.svg import SvgSquareDrawer
from qrcode.image.styles.colormasks import SolidFillColorMask

qr = qrcode.QRCode(
version=None,
error_correction=qrcode.constants.ERROR_CORRECT_M,
box_size=4,
border=0,
image_factory=StyledPilImage
)

qr.add_data(vcard_data)

img = qr.make_image(
module_drawer=SvgSquareDrawer(),
color_mask=SolidFillColorMask(
front_color=(12, 73, 114),
back_color=(255, 255, 255)
)
)

img.save(output_image)
< /code>
Das führt zu: < /p>

AttributeError: Modul 'Pil.image' hat kein Attribut 'Resampling' < /p >
< /blockquote>
Ich bin der Meinung, dass niemand das Modul "QRCode" verwendet, um gestyltes SVGs zu generieren. Es scheint, als könnte dieser irgendwie erledigt werden, aber ... nicht wirklich?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post