inspektera navigera svg

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

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:

  1. Ladda in SVG-filen.
  2. Ladda olika element med objektet DocumentElement.
  3. 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:

  1. Ladda in SVG-bild.
  2. Öppna attributet DocumentElement.
  3. 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!

Se även