Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Das SVG-Element <style> wird verwendet, um interne Stile innerhalb eines SVG-Dokuments zu definieren. Es ermöglicht Entwicklern, CSS-Regeln direkt auf SVG-Elemente anzuwenden und bietet so eine bequeme Möglichkeit, das Erscheinungsbild von SVG-Grafiken zu steuern.
Die Aspose.SVG Builder API bietet die Klasse
SVGStyleElementBuilder, bei der es sich um einen Element-Builder zum Erstellen eines SVG-Elements <style> handelt. Diese Klasse erleichtert die Erstellung und Konfiguration eines SVG-Elements <style> mit CSS-Regeln.
In diesem Artikel geht es um die Klasse RuleBuilder, eine Builder-Klasse zum Erstellen von CSS-Stilregeln. Diese Klasse wird verwendet, um dynamisch eine Reihe von CSS-Stilen zu erstellen, indem verschiedene Attribute und deren Werte festgelegt werden.
Der Rule Builder ermöglicht Entwicklern die programmgesteuerte Anwendung von CSS-Regeln für SVG-Dokumente innerhalb von C#-Code und bietet so Flexibilität und Kontrolle über das visuelle Erscheinungsbild von SVG-Elementen. Dieses Beispiel zeigt, wie man ein SVG-Element <style> erstellt, ihm eine CSS-Regel @font-face hinzufügt und die
AddRule()-Methode zum Definieren von Schriftstilen für Textelemente in einem SVG-Dokument:
1using Aspose.Svg.Builder;
2using System.Drawing;
3using System.IO; 1// Configure an SVG document's style with external font-face rules in C# using Rule Builder
2
3// Initialize an SVG document
4using (SVGDocument document = new SVGDocument())
5{
6 // Create an <svg> element and use Builder API to add other rules and elements to it
7 SVGSVGElement svg = new SVGSVGElementBuilder()
8
9 .AddDefs(def => def
10 .AddStyle(st => st
11 .Type("text/css")
12 .AddRule("@font-face", r => r
13 .FontFamily("VeinlineRegular")
14 .Attribute("src", "url(https://assets.ithillel.ua/wiki/VeinlineRegular.ttf)")
15 )
16 .AddRule("text", t => t
17 .FontFamily("VeinlineRegular")
18 .FontSize(30, LengthType.Pt)
19 )
20 )
21 )
22 .AddText(t => t
23 .X(20).Y(60).Fill(Color.DarkRed).FontWeight(FontWeight.Bold)
24 .AddContent("Configure SVG Style")
25 )
26 .AddText(t => t
27 .X(20).Y(150)
28 .AddContent("Set your SVG style with Rule Builder!")
29 )
30 .Build(document.FirstChild as SVGSVGElement);
31
32 // Save the SVG document
33 document.Save(Path.Combine(OutputDir, "font-face.svg"));
34}
Mit der CSS-Regel @font-face können Sie Schriftarten für die Anzeige von Text auf Webseiten angeben, die entweder von einem Remote-Server oder vom Computer des Benutzers heruntergeladen werden können. Die Regel definiert einen benutzerdefinierten Schriftfamiliennamen und gibt die Quell-URL der Schriftdatei an.
font-family für ein SVG-Element fest. Es gibt den Schriftartnamen an, der zum Festlegen der Schriftarteigenschaften verwendet wird.RuleBuilder-Klasse legt ein scr-Attribut für das <style>-Element mit der Quell-URL der Schriftartdatei fest.Im obigen Beispiel definiert die @font-face-Regel eine benutzerdefinierte Schriftartfamilie mit dem Namen “VeinlineRegular”. Diese Regel stellt sicher, dass die Schriftart geladen wird und für die Verwendung im SVG-Dokument verfügbar ist.
Die Methode
AddRule() ist Teil des Rule Builder, mit dem Sie CSS-Regeln in SVG-Dokumenten erstellen können. Es benötigt zwei Parameter: den Namen des CSS-Selektors und einen Lambda-Ausdruck, der die Eigenschaften des Stils mithilfe von RuleBuilder definiert.
Im obigen C#-Beispiel werden zwei Regeln hinzugefügt:
Die SVG Builder-API führt Syntax Sugar ein, um den Prozess der SVG-Erstellung und -Bearbeitung weiter zu verfeinern. Dazu gehören verschachtelte Builder für verschiedene SVG-Elemente, die eine intuitivere und effizientere Möglichkeit bieten, komplexe SVG-Strukturen zu definieren. Ein Builder-in-Builder-Muster beinhaltet die Verwendung mehrerer Builder-Klassen, wobei ein Builder in einem anderen verschachtelt ist, um die Konstruktion komplexer Objekte oder Strukturen zu erleichtern.
Der folgende Codeausschnitt zeigt, wie man RuleBuilder, ein Beispiel für einen Builder innerhalb eines Builders, verwendet, um SVG-Grafiken programmgesteuert zu erstellen und zu formatieren:
1using Aspose.Svg.Builder;
2using System.Drawing;
3using System.IO; 1// Create SVG with styled circle and text elements using C# Rule Builder API and fluent syntax
2
3// Initialize an SVG document
4using (SVGDocument document = new SVGDocument())
5{
6 // Create an <svg> element and use Builder API to add other rules and elements to it
7 SVGSVGElement svg = new SVGSVGElementBuilder()
8
9 .AddStyle(st => st
10 .AddRule("circle", r => r
11 .Fill(paint: Paint.None)
12 .Stroke(color: Color.DarkRed)
13 .StrokeWidth(60)
14 )
15 .AddRule("text", t => t
16 .Fill(color: Color.Red)
17 .Stroke(color: Color.Teal)
18 .StrokeWidth(1)
19 .FontFamily("Arial")
20 .FontSize(30, LengthType.Pt)
21 )
22 )
23 .AddG(g => g
24 .AddCircle(circle => circle.Cx(100).Cy(130).R(60).StrokeDashArray(2, 14))
25 .AddText("Rule Builder", x: 230, y: 140)
26 )
27 .Build(document.FirstChild as SVGSVGElement);
28
29 // Save the SVG document
30 document.Save(Path.Combine(OutputDir, "rule-builder.svg"));
31}Aspose.SVG for .NET bietet eine Rule Builder-Funktion, die es Entwicklern ermöglicht, CSS-Regeln für SVG-Elemente mithilfe der SVG Builder-API programmgesteuert zu definieren.
RuleBuilder bietet Flexibilität und Kontrolle über das visuelle Erscheinungsbild von SVG-Elementen.RuleBuilder fungiert als Builder im Builder, was die Erstellung komplexer Objekte oder Strukturen erleichtert und die Lesbarkeit des Codes verbessert, sodass er leichter verständlich ist.Siehe auch
stroke oder fill für verschiedene SVG-Formen und -Elemente anzugeben, wenn diese mit Farbe, Muster oder Farbverlauf gefüllt werden.Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.