====== std.svg.builder ====== Dokumentlebenszyklus der SVG-Bibliothek: Dokument anlegen, Viewport und viewBox konfigurieren, Gruppen ('''') öffnen und schließen, Dokument serialisieren und speichern. → [[lyx_-_programmiersprache:units:svg|std.svg]] · [[lyx_-_programmiersprache:units:svg:xml|std.svg.xml]] · [[lyx_-_programmiersprache:units:svg:style|std.svg.style]] ---- ===== Verwendung ===== import std.svg.builder; // Einfaches Dokument var svg: Svg := SvgNew(800.0, 600.0); // Mit viewBox (z.B. Koordinaten 0–100 unabhängig von Pixelgröße) var svg2: Svg := SvgNewViewBox(800.0, 600.0, 0.0, 0.0, 100.0, 100.0); // Gruppe öffnen (entspricht ) SvgGroupBegin(svg, "translate(100,50) rotate(45)"); // ... Elemente innerhalb der Gruppe ... SvgGroupEnd(svg); // Benannte Gruppe mit id SvgGroupBeginId(svg, "layer1", "opacity:0.8"); SvgGroupEnd(svg); // Speichern SvgSave(svg, "output.svg"); var content: pchar := SvgToString(svg); SvgFree(svg); ---- ===== Funktionen ===== ^ Signatur ^ Sichtbarkeit ^ Beschreibung ^ | ''SvgNew(width: f64, height: f64): Svg'' | pub | Erzeugt SVG-Dokument mit Breite und Höhe in px | | ''SvgNewViewBox(w: f64, h: f64, vbX: f64, vbY: f64, vbW: f64, vbH: f64): Svg'' | pub | Erzeugt SVG mit viewBox-Attribut | | ''SvgSetBackground(svg: Svg, color: pchar): void'' | pub | Setzt Hintergrundfarbe (rect über gesamten Viewport) | | ''SvgGroupBegin(svg: Svg, transform: pchar): void'' | pub | Öffnet ''''-Element mit Transform-Attribut | | ''SvgGroupBeginId(svg: Svg, id: pchar, style: pchar): void'' | pub | Öffnet ''''-Element mit id und Style | | ''SvgGroupEnd(svg: Svg): void'' | pub | Schließt aktuelles ''''-Element | | ''SvgSave(svg: Svg, path: pchar): void'' | pub | Schreibt Dokument als UTF-8-SVG-Datei | | ''SvgToString(svg: Svg): pchar'' | pub | Gibt serialisierten SVG-Inhalt zurück | | ''SvgFree(svg: Svg): void'' | pub | Gibt Dokumentressourcen frei | Letzte Aktualisierung: 2026-05-23