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
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)");
| 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