Mättnad i en bild beskrivs som färgernas intensitet. Ibland kan du behöva lägga till text i en SVG-bild och mätta den. I enlighet med sådana scenarier täcker den här artikeln hur man utför textmättnad i SVG-bilder programmatiskt i C#.
- C# API för att mätta text i SVG Image - Installation
- Hur man mättar text i SVG-bild i C#
- Mätta text i SVG-bild Programmatiskt i C#
C# API för att mätta text i SVG Image - Installation
Aspose.SVG for .NET API kan skapa eller manipulera SVG-bilder. Du kan använda olika filter och arbeta med många egenskaper hos de skalbara vektorgrafikbilderna, samt konvertera SVG-bilderna till format som stöds. Ladda bara ned DLL-filen eller kör följande installationskommando NuGet:
PM> Install-Package Aspose.SVG
Hur man mättar text i SVG-bild i C#
Du kan infoga text i en SVG-bild och mätta den med följande steg:
- Skapa ett SVGDocument-klassobjekt.
- Skapa ett defs och filterelement.
- Skapa ett feColorMatrix-element och lägg till text i SVG.
- Spara den utgående SVG-bilden.
Följande avsnitt utvecklar ytterligare hur man utför dessa steg i ett C#-kodavsnitt:
Mätta text i SVG-bild Programmatiskt i C#
Du kan mätta text i en SVG-bild med följande steg:
- Skapa ett klassobjekt SVGDocument.
- Gå till SVG-rotelementet och ställ in namnområdets URL.
- Skapa ett klassobjekt SVGDefsElement och lägg till det i SVG-elementet.
- Initiera en klassinstans SVGFEColorMatrixElement och ställ in olika värden.
- Definiera ett klassobjekt SVGTextElement och lägg till text i SVG.
- Exportera slutligen den utgående SVG-bilden med metoden Save().
Kodavsnittet nedan visar hur man skapar en mättnadseffekt med färgmatrisen i C#:
// Skapa en instans av SVGDocument-klassen
Aspose.Svg.SVGDocument document = new Aspose.Svg.SVGDocument();
// Ställ in SVG-namnutrymmesadress
string SvgNamespace = "http://www.w3.org/2000/svg";
// Hämta root svg-elementet i dokumentet
Aspose.Svg.SVGSVGElement svgElement = document.RootElement;
// Skapa ett defs-element och lägg till i svgElement
Aspose.Svg.SVGDefsElement defsElement = (Aspose.Svg.SVGDefsElement)document.CreateElementNS(SvgNamespace, "defs");
svgElement.AppendChild(defsElement);
// Skapa ett filterelement och lägg till i 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);
// Skapa ett 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);
// Skapa ett textelement och lägg till i 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);
// Spara SVG-dokumentet
document.Save(Path.Combine(dataDir, "TextSaturation.svg"));
Skaffa en gratis API-licens
Du kan begära en gratis temporär licens för att utvärdera alla funktioner i API:t till sin fulla kapacitet.
Slutsats
I den här artikeln har du lärt dig hur du applicerar textmättnad i en SVG-bild programmatiskt i C#. Medan du kan ta en titt på avsnittet dokumentation för att lära dig olika andra funktioner som ingår i API:et. Om du vill diskutera några av dina problem eller tvetydigheter får du gärna kontakta oss på gratis supportforum.