Inhaltsverzeichnis

std.svg

SVG-Bibliothek für Lyx: Vektorgrafiken programmatisch erzeugen, stilisieren und als .svg-Datei speichern. Die Bibliothek deckt den gesamten SVG 1.1-Standard ab — von einfachen Grundformen über Pfade, Texte und Farbverläufe bis hin zu SMIL-Animationen und Filtern. Optionaler Parser zum Einlesen und Traversieren vorhandener SVG-Dateien.

Standard Library · std.pdf


Architektur

┌──────────────────────────────────────────────────────────┐
│                    std.svg (Public API)                  │
├────────────────────────┬─────────────────────────────────┤
│   Inhalt               │   Infrastruktur                  │
│  elements · path       │  builder · xml                  │
│  text · defs           │                                 │
│  filter · image        │                                 │
│  anim                  │                                 │
├────────────────────────┴─────────────────────────────────┤
│          Querschnitt: style                              │
├──────────────────────────────────────────────────────────┤
│          Lesen: parser                                   │
└──────────────────────────────────────────────────────────┘


Minimales Beispiel

import std.svg;

// Dokument anlegen
var svg: Svg := SvgNew(800.0, 600.0);

// Kreis mit blauer Füllung
SvgCircle(svg, 400.0, 300.0, 100.0, "fill:blue;stroke:navy;stroke-width:2");

// Text
SvgTextAt(svg, 400.0, 300.0, "Hallo SVG", "font-size:24;text-anchor:middle;fill:white");

// Datei speichern
SvgSave(svg, "ausgabe.svg");
SvgFree(svg);


Units

Unit Beschreibung
std.svg.builder Dokumentlebenszyklus: SvgNew, SvgSave, SvgFree, Viewport
std.svg.xml XML-Schreiber: Puffer, Zahlenformatierung, Dokumentstruktur
std.svg.style Fill, Stroke, Opacity, Transforms, Dash-Muster
std.svg.elements Grundformen: rect, circle, ellipse, line, polyline, polygon
std.svg.path Pfad-Builder: moveto, lineto, Bezier-Kurven, Bögen
std.svg.text Text: SvgTextAt, tspan, Text auf Pfad, Font-Styling
std.svg.defs Definitionen: Farbverläufe, Muster, Symbole, Marker, Clips
std.svg.filter Filter: Unschärfe, Schatten, Graustufen, feComposite
std.svg.image Bilder: JPEG/PNG einbetten, Base64, RGB→PNG
std.svg.anim SMIL-Animation: animate, animateTransform, Keyframes
std.svg.parser SVG-Reader: SvgOpen, DOM-Traversierung, Attribut-Zugriff

Hauptfunktionen

Signatur Sichtbarkeit Beschreibung
SvgNew(width: f64, height: f64): Svg pub Erzeugt neues SVG-Dokument mit Viewport-Größe
SvgNewViewBox(width: f64, height: f64, vbX: f64, vbY: f64, vbW: f64, vbH: f64): Svg pub Erzeugt SVG mit explizitem viewBox-Attribut
SvgSave(svg: Svg, path: pchar): void pub Schreibt SVG als UTF-8-Datei
SvgToString(svg: Svg): pchar pub Gibt SVG-Inhalt als String zurück
SvgFree(svg: Svg): void pub Gibt Dokumentressourcen frei

Letzte Aktualisierung: 2026-05-23