std.svg.filter

SVG-Filter-Effekte: Weichzeichnung (Gaussian Blur), Schlagschatten, Graustufen-Konvertierung, feComposite-Operationen und benutzerdefinierte Filter-Primitive. Filter werden in <defs> definiert und per ID auf Elemente angewendet.

std.svg · std.svg.defs · std.svg.elements


Verwendung

import std.svg.filter;

// Einfacher Weichzeichner
SvgFilterBlur(svg, "unschaerfe", 4.0);
SvgRect(svg, 50.0, 50.0, 200.0, 100.0, "fill:blue;filter:url(#unschaerfe)");

// Schlagschatten
SvgFilterDropShadow(svg, "schatten", 4.0, 4.0, 3.0, "black", 0.6);
SvgTextAt(svg, 200.0, 150.0, "Mit Schatten", "font-size:32;filter:url(#schatten)");

// Graustufen
SvgFilterGrayscale(svg, "grau");
SvgRect(svg, 10.0, 10.0, 300.0, 200.0, "fill:url(#myGrad);filter:url(#grau)");

// Benutzerdefinierter Filter mit mehreren Primitiven
SvgFilterBegin(svg, "meinFilter", -0.1, -0.1, 1.2, 1.2);
SvgFeGaussianBlur(svg, "blur1", "SourceGraphic", 2.0);
SvgFeColorMatrix(svg, "saturate1", "blur1", "saturate", 3.0);
SvgFeComposite(svg, "", "saturate1", "SourceGraphic", "in");
SvgFilterEnd(svg);

// Glüh-Effekt (Glow)
SvgFilterGlow(svg, "glow", "cyan", 6.0, 0.8);
SvgCircle(svg, 300.0, 300.0, 80.0, "fill:white;filter:url(#glow)");


Funktionen

Signatur Sichtbarkeit Beschreibung
SvgFilterBlur(svg: Svg, id: pchar, stdDeviation: f64): void pub Definiert Gaussian-Blur-Filter
SvgFilterDropShadow(svg: Svg, id: pchar, dx: f64, dy: f64, blur: f64, color: pchar, opacity: f64): void pub Definiert Schlagschatten-Filter
SvgFilterGrayscale(svg: Svg, id: pchar): void pub Definiert Graustufen-Filter (feColorMatrix)
SvgFilterGlow(svg: Svg, id: pchar, color: pchar, blur: f64, opacity: f64): void pub Definiert Glüheffekt-Filter
SvgFilterBegin(svg: Svg, id: pchar, x: f64, y: f64, w: f64, h: f64): void pub Startet benutzerdefinierte Filter-Region
SvgFilterEnd(svg: Svg): void pub Schließt Filter-Definition
SvgFeGaussianBlur(svg: Svg, result: pchar, in_: pchar, stdDeviation: f64): void pub Fügt feGaussianBlur-Primitiv hinzu
SvgFeColorMatrix(svg: Svg, result: pchar, in_: pchar, type_: pchar, value: f64): void pub Fügt feColorMatrix-Primitiv hinzu (saturate, hueRotate, luminanceToAlpha)
SvgFeComposite(svg: Svg, result: pchar, in_: pchar, in2: pchar, operator_: pchar): void pub Fügt feComposite-Primitiv hinzu (over, in, out, atop, xor, arithmetic)
SvgFeBlend(svg: Svg, result: pchar, in_: pchar, in2: pchar, mode: pchar): void pub Fügt feBlend-Primitiv hinzu (normal, multiply, screen, overlay)
SvgFeOffset(svg: Svg, result: pchar, in_: pchar, dx: f64, dy: f64): void pub Fügt feOffset-Primitiv hinzu
SvgFeMerge(svg: Svg, nodes: pchar): void pub Fügt feMerge mit Leerzeichen-getrennten Quellen hinzu
SvgFeFlood(svg: Svg, result: pchar, color: pchar, opacity: f64): void pub Fügt feFlood-Primitiv (Volltonfarbe) hinzu
SvgFeImage(svg: Svg, result: pchar, href: pchar): void pub Fügt feImage-Primitiv (externe Bildquelle) hinzu

Letzte Aktualisierung: 2026-05-23