Textsättigung in SVG C#

Die Sättigung in einem Bild wird als Intensität der Farben beschrieben. Manchmal müssen Sie möglicherweise Text in ein SVG-Bild einfügen und es sättigen. In Übereinstimmung mit solchen Szenarien behandelt dieser Artikel, wie Textsättigung in SVG-Bildern programmgesteuert in C# durchgeführt wird.

C#-API zum Sättigen von Text in SVG-Bildern – Installation

Aspose.SVG for .NET API kann SVG-Bilder erstellen oder manipulieren. Sie können verschiedene Filter anwenden und mit vielen Eigenschaften der skalierbaren Vektorgrafiken arbeiten sowie die SVG-Bilder in unterstützte Formate konvertieren. Laden Sie einfach die DLL-Datei herunter oder führen Sie den folgenden NuGet-Installationsbefehl aus:

PM> Install-Package Aspose.SVG

So sättigen Sie Text in einem SVG-Bild in C

Sie können Text in ein SVG-Bild einfügen und mit den folgenden Schritten sättigen:

  1. Erstellen Sie ein SVGDocument-Klassenobjekt.
  2. Erstellen Sie ein Defs- und Filterelement.
  3. Erstellen Sie ein feColorMatrix-Element und fügen Sie dem SVG Text hinzu.
  4. Speichern Sie das ausgegebene SVG-Bild.

Im folgenden Abschnitt wird näher erläutert, wie Sie diese Schritte in einem C#-Codeausschnitt ausführen:

Text im SVG-Bild programmgesteuert in C# sättigen

Sie können Text in einem SVG-Bild mit den folgenden Schritten sättigen:

  1. Erstellen Sie ein SVGDocument-Klassenobjekt.
  2. Greifen Sie auf das Root-SVG-Element zu und legen Sie die Namespace-URL fest.
  3. Erstellen Sie ein SVGDefsElement-Klassenobjekt und fügen Sie es dem SVG-Element hinzu.
  4. Initialisieren Sie eine SVGFEColorMatrixElement-Klasseninstanz und legen Sie andere Werte fest.
  5. Definieren Sie ein SVGTextElement-Klassenobjekt und fügen Sie dem SVG Text hinzu.
  6. Exportieren Sie schließlich das ausgegebene SVG-Bild mit der Methode Save().

Das folgende Code-Snippet zeigt, wie Sie mit der Farbmatrix in C# einen Sättigungseffekt erzeugen:

// Erstellen Sie eine Instanz der SVGDocument-Klasse
Aspose.Svg.SVGDocument document = new Aspose.Svg.SVGDocument();

// Legen Sie die SVG-Namespace-URL fest
string SvgNamespace = "http://www.w3.org/2000/svg";
// Holen Sie sich das Root-Svg-Element des Dokuments
Aspose.Svg.SVGSVGElement svgElement = document.RootElement;


// Erstellen Sie ein defs-Element und fügen Sie es dem svgElement hinzu
Aspose.Svg.SVGDefsElement defsElement = (Aspose.Svg.SVGDefsElement)document.CreateElementNS(SvgNamespace, "defs");
svgElement.AppendChild(defsElement);

// Erstellen Sie ein Filterelement und fügen Sie es dem defsElement hinzu
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);


// Erstellen Sie ein feColorMatrix-Element
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);

// Erstellen Sie ein Textelement und fügen Sie es dem svgElement hinzu
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);

// Speichern Sie das SVG-Dokument
document.Save(Path.Combine(dataDir, "TextSaturation.svg"));

Holen Sie sich eine kostenlose API-Lizenz

Sie können eine kostenlose temporäre Lizenz anfordern, um alle Funktionen der API in vollem Umfang zu testen.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie Textsättigung in einem SVG-Bild programmgesteuert in C# anwenden. Sie können sich hingegen den Abschnitt Dokumentation ansehen, um verschiedene andere Funktionen der API kennenzulernen. Falls Sie Ihre Bedenken oder Unklarheiten besprechen möchten, können Sie sich gerne im kostenlosen Support-Forum an uns wenden.

Siehe auch