SVG bilder används populärt över webben, särskilt där skalbarhet och kvalitet på bilder är viktiga. Du kan inspektera, extrahera eller navigera i SVG-bildelement programmatiskt med C#. Låt oss utforska följande avsnitt för ytterligare information:
- SVG-inspektion eller navigering i C# - API-installation
- Inspektera SVG-dokumentet och dess element
- Extrahera information om specifika SVG-element
- Navigera i SVG med XPath Query
SVG-inspektion eller navigering i C# - API-installation
Aspose.SVG for .NET API stöder att skapa, redigera eller konvertera SVG-filer. Du kan ladda ner DLL-filen som ZIP från avsnittet Nedladdningar. Du kan också konfigurera den via NuGet Package Manager i Microsoft Visual Studio. Följande NuGet installationskommando kan användas för att konfigurera det:
PM> Install-Package Aspose.SVG
Inspektera SVG-dokumentet och dess element
Flera metoder i Aspose.SVG för .NET API är baserade på Element Traversal Specifications enligt W3C. Du kan inspektera en SVG-fil i detalj med följande steg:
- Ladda in SVG-filen.
- Ladda olika element med objektet DocumentElement.
- Få tillgång till värdet på vilken egendom som helst.
Koden nedan förklarar hur man inspekterar SVG-dokument och dess olika element programmatiskt med C#:
// Ladda ett dokument
string documentPath = Path.Combine(DataDir, "shapes.svg");
using (var document = new SVGDocument(documentPath))
{
var element = document.DocumentElement;
Console.WriteLine(element.TagName); // svg
element = element.LastElementChild;
Console.WriteLine(element.TagName); // g
element = element.FirstElementChild;
Console.WriteLine(element.TagName); // rect
}
Extrahera information om specifika SVG-element
En SVG-bildfil består av flera element under ett rotelement. Klassen SVGDocument avslöjar olika metoder för att extrahera information om specifika SVG-element, till exempel PrentElement och GetElementsByClassName. Låt oss följa stegen nedan för att extrahera information om specifika SVG-element:
- Ladda in SVG-bild.
- Öppna attributet DocumentElement.
- Läs något specifikt element.
Följande kod visar hur man extraherar information om ett specifikt SVG-element programmatiskt med C#:
//Ladda ett dokument från en fil
string documentPath = Path.Combine(DataDir, "shapes.svg");
using (var document = new SVGDocument(documentPath))
{
// Hämta root svg-elementet i dokumentet
var svg = document.DocumentElement;
// Hitta det första underordnade elementet med ett givet taggnamn
var g = svg.GetElementsByTagName("g").First() as SVGGElement;
var rect = g.FirstElementChild as SVGRectElement;
Console.WriteLine("Height: {0}", rect.Height);// 90
Console.WriteLine("Width: {0}", rect.Width); // 100
}
För den här demonstrationen har vi övervägt att arbeta med filen shapes.svg.
Navigera i SVG med XPath Query
XPath-frågespråk används för att välja noder från XML-baserade dokument. Följande steg utvecklar hur du navigerar SVG-bildfilsnoder med XPath Query:
- Ladda käll-SVG-fil.
- Utvärdera XPath expression.
- Utvärdera och få nästa nod.
Koden nedan visar hur dessa steg låter dig navigera i SVG-noder programmatiskt med C#-språket:
using Aspose.Svg;
using System.IO;
using Aspose.Svg.Dom;
using Aspose.Svg.Collections;
...
using (var document = new SVGDocument(Path.Combine(DataDir, "shapes.svg")))
{
// Utvärdera XPath-uttryck
var xpathResult = document.Evaluate("//rect[@x='120']", document, null, (Dom.XPath.XPathResultType)XPathResultType.Any, null);
// Hämta nästa utvärderade nod
Console.WriteLine((xpathResult.IterateNext() as Element)?.OuterHTML);
}
Slutsats
I den här artikeln har vi utforskat hur man inspekterar SVG-filen och dess delar. På samma sätt diskuteras också att extrahera information från SVG-filer och navigera SVG-noder med XPath Query. Dessutom kan du lära dig mer genom att läsa Dokumentation. Kontakta gärna Free Support Forum. Vi hjälper dig gärna och guidar dig!