Endroid/QrCode SvgWriterCompact

QR-Code Writer Class zum Rendern optimierter SVG Vektorgrafiken

Das modul Endroid/QrCode dient zur serverseitigen Generierung von QR-Codes und liefert flexibel und performant u.a. gültiges SVG Markup.

Leider zeigen sich bei Einbindung der SVG-Grafiken im Browser, wie auch beim Editieren in diversen Grafikprogrammen, unschöne Darstellungsmängel.

Je nach Größe der SVG-Grafik werden feine Blitzkanten zwischen den Blöcken ("Daten-Pixel") des QR-Codes sichtbar. Die Stärke des Effekts ist von der Ausgabeauflösung abhängig und zeigt sich besonders bei normalen Office-Displays mit Standardauflösung.

Das ist jedoch nicht bloß visuell störend, sondern führt z.B. auch bei der Umwandlung in eine Bitmap-Rastergrafik ungewollt zu feinen transparenten Bereichen, die dann im grafischen Design zu Problemen führen. Ähnliches kann bei der Transparenzreduktion für PDF auftreten.

Die neue SvgWriterCompact class implementiert das Writer Interface und behebt diese Darstellungsmängel durch Zusammenlegung von Formen zu einem kombinierten Pfad.

Zudem wird die Dateigröße des resultierenden SVG durch den Einsatz reduzierter Elemente bzw. kompakter Zeichenbefehle drastisch reduziert.