Dokumentlebenszyklus der SVG-Bibliothek: Dokument anlegen, Viewport und viewBox konfigurieren, Gruppen (<g>) öffnen und schließen, Dokument serialisieren und speichern.
→ std.svg · std.svg.xml · std.svg.style
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 <g transform="...">)
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);
| 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 <g>-Element mit Transform-Attribut |
SvgGroupBeginId(svg: Svg, id: pchar, style: pchar): void | pub | Öffnet <g>-Element mit id und Style |
SvgGroupEnd(svg: Svg): void | pub | Schließt aktuelles <g>-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