Differences
This shows you the differences between two versions of the page.
| lehrkraefte:blc:informatik:glf24:laby:svgexport [2025/05/15 18:00] – created Ivo Blöchliger | lehrkraefte:blc:informatik:glf24:laby:svgexport [2025/05/16 06:44] (current) – Ivo Blöchliger | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Einheit 7: Export als SVG ====== | ====== Einheit 7: Export als SVG ====== | ||
| + | |||
| + | 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: | ||
| + | <code xml> | ||
| + | <?xml version=" | ||
| + | <svg id=" | ||
| + | version=" | ||
| + | xmlns=" | ||
| + | <g id=' | ||
| + | | ||
| + | <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> | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | * In VS-Code, im Verzeichnis '' | ||
| + | * VS-Code wird sich beschweren, dass das Bild nicht angezeigt werden kann (weil ja noch nichts in der Datei steht) und anbieten, die Datei im Text-Editor zu öffnen. Tun Sie das. | ||
| + | * Kopieren Sie obigen Code in die Datei '' | ||
| + | * Betrachten Sie das Bild auf eine der folgenden Arten: | ||
| + | * Mit dem VS-Code live-Server (Rechts-Klick auf die Datei '' | ||
| + | * Installieren Sie Inkscape, z.B. auf der Kommandozeile mit '' | ||
| + | * Evtl. haben Sie bereits in Programm installiert, | ||
| + | * Mit der folgenden Info-Box, studieren Sie die Datei '' | ||
| + | <WRAP info> | ||
| + | * Erste Zeile besagt, dass es sich um ein XML-Dokument handelt (ähnlich wie HTML, aber mit strengeren Regeln) | ||
| + | * Die nächsten drei Zeilen definieren dass es sich um ein SVG-Dokument handelt. Dabei wird auch die Grösse vom Bild festgelegt (hier A4 Hochformat). | ||
| + | * ''< | ||
| + | * ''< | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | </ | ||
| + | |||
| + | * In der Datei '' | ||
| + | |||
| + | Im Weiteren geht es noch darum, so eine SVG-Datei direkt in Python aus dem berechneten Labyrinth zu generieren: | ||
| + | |||
| + | * Speichern Sie die Datei {{lehrkraefte: | ||
| + | * Öffnen Sie die Datei in VS-Code und versuchen Sie den Code in der Datei zu verstehen. | ||
| + | * In der Datei '' | ||
| + | * Am Ende der Datei, rufen Sie die Funktion wie folgt auf. Passen Sie gegebenenfalls den Ausgabedateinamen '' | ||
| + | <code python> | ||
| + | svgExport(laby, | ||
| + | </ | ||
| + | * Führen Sie die Datei '' | ||
| + | |||
| + | ===== Empfohlene Auflösung ===== | ||
| + | |||
| Mein Sohn sagte mir, 3.5mm - 4mm grosse Zellen eignen sich gut, um den Weg mit Leuchtstiften nachzuzeichnen. | Mein Sohn sagte mir, 3.5mm - 4mm grosse Zellen eignen sich gut, um den Weg mit Leuchtstiften nachzuzeichnen. | ||