====== 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