====== std.svg.image ======
Bilder in SVG einbetten: JPEG- und PNG-Dateien als externe Referenz oder Base64-kodiert (Data-URI), programmatische RGB-Bitmap zu PNG-Konvertierung, und Platzierung mit optionaler Beibehaltung des Seitenverhältnisses.
→ [[lyx_-_programmiersprache:units:svg|std.svg]] · [[lyx_-_programmiersprache:units:svg:builder|std.svg.builder]] · [[lyx_-_programmiersprache:units:svg:defs|std.svg.defs]]
----
===== Verwendung =====
import std.svg.image;
// Externe Bilddatei einbetten (Pfad-Referenz)
SvgImageFile(svg, "foto.jpg", 50.0, 50.0, 400.0, 300.0, "");
// Bild aus Datei als Base64-Data-URI einbetten
SvgImageEmbed(svg, "logo.png", 10.0, 10.0, 120.0, 60.0, "");
// Seitenverhältnis-Kontrolle: xMidYMid meet (Standard), none (strecken)
SvgImageFile(svg, "banner.jpg", 0.0, 0.0, 800.0, 200.0,
"preserveAspectRatio:xMidYMid slice");
// RGB-Rohdaten → PNG → eingebettetes SVG-Bild
// pixels: [W*H*3]int64, jeder Eintrag 0–255 (R, G, B sequenziell)
var w: int64 := 64;
var h: int64 := 64;
var pixels: [12288]int64;
// ... pixels befüllen ...
SvgImageFromRGB(svg, pixels, w, h, 200.0, 100.0, 256.0, 256.0, "");
// Bild als Symbol definieren und mehrfach verwenden
SvgImageSymbol(svg, "icon", "icon.png", 0.0, 0.0, 32.0, 32.0);
SvgUse(svg, "icon", 10.0, 10.0, 32.0, 32.0);
SvgUse(svg, "icon", 50.0, 10.0, 32.0, 32.0);
----
===== Funktionen =====
^ Signatur ^ Sichtbarkeit ^ Beschreibung ^
| ''SvgImageFile(svg: Svg, path: pchar, x: f64, y: f64, w: f64, h: f64, style: pchar): void'' | pub | Bettet Bild per Dateipfad-Referenz ein |
| ''SvgImageEmbed(svg: Svg, path: pchar, x: f64, y: f64, w: f64, h: f64, style: pchar): void'' | pub | Liest Datei, kodiert Base64 und bettet als Data-URI ein |
| ''SvgImageBase64(svg: Svg, mime: pchar, data: pchar, x: f64, y: f64, w: f64, h: f64, style: pchar): void'' | pub | Bettet bereits Base64-kodierten Blob mit MIME-Typ ein |
| ''SvgImageFromRGB(svg: Svg, pixels: [0]int64, imgW: int64, imgH: int64, x: f64, y: f64, w: f64, h: f64, style: pchar): void'' | pub | Konvertiert RGB-Pixelarray zu PNG und bettet ein |
| ''SvgImageSymbol(svg: Svg, id: pchar, path: pchar, vbX: f64, vbY: f64, vbW: f64, vbH: f64): void'' | pub | Definiert Bild als wiederverwendbares Symbol in '''' |
| ''SvgBase64Encode(data: pchar, len: int64): pchar'' | pub | Kodiert Binärdaten als Base64-String |
| ''SvgPngFromRGB(pixels: [0]int64, w: int64, h: int64): pchar'' | pub | Erzeugt PNG-Binärdaten aus RGB-Array (gibt Base64 zurück) |
Letzte Aktualisierung: 2026-05-23