Saturation du texte en SVG C#

La saturation d’une image est décrite comme l’intensité des couleurs. Parfois, vous devrez peut-être ajouter du texte dans une image SVG et la saturer. Conformément à ces scénarios, cet article explique comment effectuer la saturation du texte dans les images SVG par programmation en C#.

API C# pour saturer du texte dans une image SVG - Installation

L’API Aspose.SVG pour .NET est capable de créer ou de manipuler des images SVG. Vous pouvez appliquer différents filtres et travailler avec de nombreuses propriétés des images graphiques vectorielles évolutives, ainsi que convertir les images SVG en formats pris en charge. Téléchargez simplement le fichier DLL ou exécutez la commande d’installation NuGet suivante :

PM> Install-Package Aspose.SVG

Comment saturer du texte dans une image SVG en C#

Vous pouvez insérer du texte dans une image SVG et le saturer en procédant comme suit :

  1. Créez un objet de classe SVGDocument.
  2. Créez un élément defs et filter.
  3. Créez un élément feColorMatrix et ajoutez du texte au SVG.
  4. Enregistrez l’image SVG de sortie.

La section suivante explique plus en détail comment effectuer ces étapes dans un extrait de code C# :

Saturer le texte dans une image SVG par programme en C

Vous pouvez saturer du texte dans une image SVG en procédant comme suit :

  1. Créez un objet de classe SVGDocument.
  2. Accédez à l’élément SVG racine et définissez l’URL de l’espace de noms.
  3. Créez un objet de classe SVGDefsElement et ajoutez-le à l’élément SVG.
  4. Initialisez une instance de classe SVGFEColorMatrixElement et définissez des valeurs différentes.
  5. Définissez un objet de classe SVGTextElement et ajoutez du texte au SVG.
  6. Enfin, exportez l’image SVG de sortie avec la méthode Save().

L’extrait de code ci-dessous montre comment créer un effet de saturation avec la matrice de couleurs en C# :

// Créer une instance de la classe SVGDocument
Aspose.Svg.SVGDocument document = new Aspose.Svg.SVGDocument();

// Définir l'URL de l'espace de noms SVG
string SvgNamespace = "http://www.w3.org/2000/svg";
// Obtenir l'élément svg racine du document
Aspose.Svg.SVGSVGElement svgElement = document.RootElement;


// Créez un élément defs et ajoutez-le à svgElement
Aspose.Svg.SVGDefsElement defsElement = (Aspose.Svg.SVGDefsElement)document.CreateElementNS(SvgNamespace, "defs");
svgElement.AppendChild(defsElement);

// Créez un élément de filtre et ajoutez-le à defsElement
var filterElement = (Aspose.Svg.SVGFilterElement)document.CreateElementNS(SvgNamespace, "filter");
filterElement.Id = "shadow";
filterElement.SetAttribute("x", "-20px");
filterElement.SetAttribute("y", "-20px");
filterElement.SetAttribute("height", "150px");
filterElement.SetAttribute("width", "150px");
defsElement.AppendChild(filterElement);


// Créer un élément feColorMatrix
var feColorMatrixElement = (Aspose.Svg.Filters.SVGFEColorMatrixElement)document.CreateElementNS(SvgNamespace, "feColorMatrix");
feColorMatrixElement.In1.BaseVal = "SourceGraphic";
feColorMatrixElement.SetAttribute("type", "saturate");
feColorMatrixElement.SetAttribute("values", "0.2");
filterElement.AppendChild(feColorMatrixElement);

// Créez un élément de texte et ajoutez-le à svgElement
var textElement = (Aspose.Svg.SVGTextElement)document.CreateElementNS(SvgNamespace, "text");
textElement.Style.FontSize = "5em";
textElement.SetAttribute("x", "20px");
textElement.SetAttribute("fill", "blue");
textElement.SetAttribute("y", "100px");
textElement.TextContent = "Aspose.SVG for .NET API";
textElement.SetAttribute("filter", "url(#shadow)");
svgElement.InsertBefore(textElement, svgElement.FirstChild);

// Enregistrez le document SVG
document.Save(Path.Combine(dataDir, "TextSaturation.svg"));

Obtenez une licence API gratuite

Vous pouvez demander une licence temporaire gratuite pour évaluer toutes les fonctionnalités de l’API à leur pleine capacité.

Conclusion

Dans cet article, vous avez appris à appliquer la saturation de texte dans une image SVG par programmation en C#. Alors que vous pouvez consulter la section documentation pour découvrir diverses autres fonctionnalités incluses dans l’API. Si vous souhaitez discuter de vos préoccupations ou de vos ambiguïtés, n’hésitez pas à nous contacter sur le forum d’assistance gratuit.

Voir également