inspecionar navegar svg

SVG imagens são popularmente usadas na web, especialmente onde a escalabilidade e a qualidade das imagens são importantes. Você pode inspecionar, extrair ou navegar por elementos de imagem SVG programaticamente com C#. Vamos explorar as seguintes seções para mais detalhes:

Inspeção ou navegação SVG em C# - Instalação da API

Aspose.SVG for .NET API suporta a criação, edição ou conversão de arquivos SVG. Você pode baixar o arquivo DLL como ZIP na seção Downloads. Você também pode configurá-lo por meio do NuGet Package Manager no Microsoft Visual Studio. O seguinte comando de instalação do NuGet pode ser usado para configurá-lo:

PM> Install-Package Aspose.SVG

Inspecione o documento SVG e seus elementos

Vários métodos em Aspose.SVG para .NET API são baseados em Element Traversal Specifications conforme W3C. Você pode inspecionar um arquivo SVG em detalhes com as seguintes etapas:

  1. Carregue o arquivo SVG de entrada.
  2. Carregue elementos diferentes com o objeto DocumentElement.
  3. Acesse o valor de qualquer imóvel.

O código abaixo explica como inspecionar documentos SVG e seus diferentes elementos programaticamente usando C#:

// Carregar um documento
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
}

Extrair informações sobre elementos SVG específicos

Um arquivo de imagem SVG consiste em vários elementos em um elemento raiz. A classe SVGDocument expõe diferentes métodos para extrair informações sobre elementos SVG específicos, por exemplo, ParentElement e GetElementsByClassName. Vamos seguir as etapas abaixo para extrair informações sobre elementos SVG específicos:

  1. Carregar imagem SVG de entrada.
  2. Acesse o atributo DocumentElement.
  3. Leia Qualquer Elemento Específico.

O código a seguir mostra como extrair informações sobre um elemento SVG específico programaticamente usando C#:

//Carregar um documento de um arquivo
string documentPath = Path.Combine(DataDir, "shapes.svg");
    
using (var document = new SVGDocument(documentPath))
{
    // Obtenha o elemento svg raiz do documento
    var svg = document.DocumentElement;
    	
    // Encontre o primeiro elemento filho com um determinado nome de tag
    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
}

Para esta demonstração, consideramos trabalhar com o arquivo shapes.svg.

Navegue SVG usando XPath Query

A linguagem de consulta XPath é usada para selecionar nós de documentos baseados em XML. As etapas a seguir explicam como navegar nos nós do arquivo de imagem SVG com XPath Query:

  • Carregar arquivo SVG de origem.
  • Avalie XPath expression.
  • Avalie e obtenha o próximo nó.

O código abaixo demonstra como essas etapas permitem navegar nos nós SVG programaticamente usando a linguagem C#:

using Aspose.Svg;
using System.IO;
using Aspose.Svg.Dom;
using Aspose.Svg.Collections;
...     

using (var document = new SVGDocument(Path.Combine(DataDir, "shapes.svg")))
{
    //  Avaliar expressão XPath
    var xpathResult = document.Evaluate("//rect[@x='120']", document, null, (Dom.XPath.XPathResultType)XPathResultType.Any, null);

    //  Obter o próximo nó avaliado
    Console.WriteLine((xpathResult.IterateNext() as Element)?.OuterHTML);		  
}

Conclusão

Neste artigo, exploramos como inspecionar o arquivo SVG e seus elementos. Da mesma forma, a extração de informações de arquivos SVG e a navegação em nós SVG usando XPath Query também são discutidas. Além disso, você pode aprender mais lendo a Documentação. Sinta-se à vontade para entrar em contato no Fórum de suporte gratuito. Teremos o maior prazer em ajudá-lo e orientá-lo!

Veja também