Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
L’élément SVG <style> est utilisé pour définir des styles internes dans un document SVG. Il permet aux développeurs d’appliquer des règles CSS directement aux éléments SVG, offrant ainsi un moyen pratique de contrôler l’apparence des graphiques SVG.
L’API Aspose.SVG Builder propose la classe
SVGStyleElementBuilder, qui est un générateur d’éléments permettant de construire un élément SVG <style>. Cette classe facilite la création et la configuration d’un élément SVG <style> avec des règles CSS.
Cet article concerne la classe RuleBuilder, qui est une classe de générateur permettant de construire des règles de style CSS. Cette classe est utilisée pour créer dynamiquement une chaîne de styles CSS en définissant divers attributs et leurs valeurs.
Le Rule Builder permet aux développeurs d’appliquer des règles CSS aux documents SVG par programmation dans le code C#, offrant ainsi flexibilité et contrôle sur l’apparence visuelle des éléments SVG. Cet exemple montre comment créer un élément SVG <style>, y ajouter une règle CSS @font-face et utiliser la méthode
AddRule() pour définir les styles de police pour les éléments de texte dans un document SVG:
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}
La règle CSS @font-face vous permet de spécifier des polices pour afficher le texte sur les pages Web qui peuvent être téléchargées soit depuis un serveur distant, soit depuis l’ordinateur de l’utilisateur. La règle définit un nom de famille de polices personnalisé et spécifie l’URL source du fichier de police.
font-family pour un élément SVG. Il spécifie le nom de la police qui sera utilisé pour définir les propriétés de la police.RuleBuilder définit un attribut scr pour l’élément <style> avec l’URL source du fichier de police.Dans l’exemple ci-dessus, la règle @font-face définit une famille de polices personnalisée nommée “VeinlineRegular”. Cette règle garantit que la police est chargée et disponible pour être utilisée dans le document SVG.
La méthode
AddRule() fait partie du Rule Builder, qui vous permet de créer des règles CSS dans des documents SVG. Il prend deux paramètres: le nom du sélecteur CSS et une expression lambda définissant les propriétés du style à l’aide de RuleBuilder.
Dans l’exemple C# ci-dessus, deux règles sont ajoutées:
L’API SVG Builder introduit du sucre de syntaxe pour affiner davantage le processus de création et de manipulation SVG. Cela inclut des générateurs imbriqués pour divers éléments SVG, offrant un moyen plus intuitif et efficace de définir des structures SVG complexes. Un modèle “constructeur dans un constructeur” implique l’utilisation de plusieurs classes de constructeur, dans lesquelles un constructeur est imbriqué dans un autre pour faciliter la construction d’objets ou de structures complexes.
L’extrait de code suivant montre comment utiliser « RuleBuilder », qui est un exemple de générateur dans un générateur, pour créer et styliser des graphiques SVG par programme :
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 fournit une fonctionnalité Rule Builder qui permet aux développeurs de définir par programme des règles CSS pour les éléments SVG à l’aide de l’API SVG Builder.
RuleBuilder offre flexibilité et contrôle sur l’apparence visuelle des éléments SVG.RuleBuilder fonctionne comme un “constructeur dans un constructeur”, ce qui facilite la création d’objets ou de structures complexes et améliore la lisibilité du code, le rendant plus facile à comprendre.Voir également
stroke ou fill pour diverses formes et éléments SVG lors du remplissage avec de la peinture, un motif ou un dégradé.Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.