Das SVG-Format kann verwendet werden, um vektoriell beschriebene Bilder zu speichern. Diese Bilder können auch von Web-Browsern problemlos angezeigt werden. Der Vorteil ist ein kleiner Speicherbedarf und eine perfekte Anzeige, unabhängig von der Auflösung. Diese Vorteile erkauft man sich aber durch mehr Rechenaufwand auf dem anzeigenden Gerät.
Hier ist ein Beispiel:
<?xml version="1.0" encoding="UTF-8"?> <svg id="ssa" width="210mm" height="297mm" version="1.1" viewBox="0 0 210 297" xmlns="http://www.w3.org/2000/svg" viewport-fill="white"> <g id='laby' transform='translate(20.00 63.50) scale(56.67)' style="fill:none;stroke:#000000;stroke-opacity:1;stroke-linecap:round;stroke-width:0.0124"> <path d='M 0 0 h 1'/>' <path d='M 0 0 v 1'/>' <path d='M 0 1 v 1'/>' <path d='M 0 2 h 1'/>' <path d='M 0 2 v 1'/>' <path d='M 0 3 h 1'/>' <path d='M 1 0 h 1'/>' <path d='M 1 0 v 1'/>' <path d='M 1 2 h 1'/>' <path d='M 1 3 h 1'/>' <path d='M 2 0 h 1'/>' <path d='M 3 0 v 1'/>' <path d='M 2 1 v 1'/>' <path d='M 3 1 v 1'/>' <path d='M 3 2 v 1'/>' <path d='M 2 3 h 1'/>' </g> </svg>
labyrinth, legen Sie eine neue Datei test.svg an.test.svg und speichern Sie.test.svg → Open with Live Server)winget install inkscape, oder via der offiziellen Webseite: https://inkscape.org/. Öffnen Sie dann die Datei test.svg mit Inkscape.test.svg:<g> definiert eine Gruppierung von Elementen. Dabei wird auch eine Verschiebung und Skalierung (Vergrösserung) sowie der Linienstil festgelegt, die dann auf alle inneren Element angewandt werden.<path> definiert einen Pfad. Hier werden nur drei folgenden Kommandos verwendet:M x y Move absolute: Verschiebt den «Stift» zur angegebenen Koordinate.h x Horizonal line relative: Zeichnet vom aktuellen Punkt aus eine horizontale Linie mit Länge x.v y Vertical line relative: Zeichnet vom aktuellen Punkt aus eine vertikale Linie mit Länge y.test.svg fügen Sie zwei Pfade so hinzu, dass das mittlere Feld komplett eingeschlossen ist.Im Weiteren geht es noch darum, so eine SVG-Datei direkt in Python aus dem berechneten Labyrinth zu generieren:
labyrinth.main.py importieren Sie die Funktion svgExport.herz.svg an:svgExport(laby, "herz.svg")
main.py aus und betrachten Sie das generierte Bild.Mein Sohn sagte mir, 3.5mm - 4mm grosse Zellen eignen sich gut, um den Weg mit Leuchtstiften nachzuzeichnen.
Auf einem A4 mit 20mm Rändern macht das eine horizontale Auflösung von 40-50 Pixeln, und vertikal von 65-75 Pixeln.