gezinme svg'sini inceleyin

SVG görseller, özellikle ölçeklenebilirlik ve görsel kalitesinin önemli olduğu yerlerde, web üzerinde yaygın olarak kullanılmaktadır. SVG görüntü öğelerini C# ile programlı olarak inceleyebilir, ayıklayabilir veya gezinebilirsiniz. Daha fazla ayrıntı için aşağıdaki bölümleri inceleyelim:

C#’ta SVG Denetimi veya Gezinme - API Kurulumu

Aspose.SVG for .NET API, SVG dosyaları oluşturmayı, düzenlemeyi veya dönüştürmeyi destekler. DLL dosyasını İndirilenler bölümünden ZIP olarak indirebilirsiniz. Microsoft Visual Studio’daki NuGet Paket Yöneticisi aracılığıyla da yapılandırabilirsiniz. Yapılandırmak için aşağıdaki NuGet kurulum komutu kullanılabilir:

PM> Install-Package Aspose.SVG

SVG Belgesini ve Öğelerini İnceleyin

Aspose.SVG for .NET API’deki çeşitli yöntemler, W3C’ye göre Element Traversal Spesifikasyonlarına dayalıdır. Bir SVG dosyasını aşağıdaki adımlarla ayrıntılı olarak inceleyebilirsiniz:

  1. Giriş SVG dosyasını yükleyin.
  2. DocumentElement nesnesiyle farklı öğeler yükleyin.
  3. Herhangi bir özelliğin değerine erişin.

Aşağıdaki kod, SVG belgelerinin ve farklı öğelerinin C# kullanılarak programlı olarak nasıl inceleneceğini açıklar:

// belge yükle
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
}

Belirli SVG Öğeleri Hakkında Bilgi Çıkarma

Bir SVG görüntü dosyası, bir kök öğenin altındaki birkaç öğeden oluşur. SVGDocument sınıfı, ParentElement ve GetElementsByClassName gibi belirli SVG öğeleri hakkında bilgi ayıklamak için farklı yöntemler sunar. Belirli SVG öğeleri hakkında bilgi çıkarmak için aşağıdaki adımları izleyelim:

  1. Giriş SVG görüntüsünü yükleyin.
  2. DocumentElement özniteliğine erişin.
  3. Belirli Bir Öğeyi Okuyun.

Aşağıdaki kod, C# kullanarak programlı olarak belirli bir SVG öğesi hakkındaki bilgilerin nasıl çıkarılacağını gösterir:

//Bir dosyadan belge yükleme
string documentPath = Path.Combine(DataDir, "shapes.svg");
    
using (var document = new SVGDocument(documentPath))
{
    // Belgenin kök svg öğesini alın
    var svg = document.DocumentElement;
    	
    // Belirli bir etiket adına sahip ilk alt öğeyi bulun
    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
}

Bu tanıtım için shapes.svg dosyasıyla çalışmayı düşündük.

XPath Sorgusunu kullanarak SVG’de gezinin

XPath sorgu dili, XML tabanlı belgelerden düğümleri seçmek için kullanılır. Aşağıdaki adımlarda, XPath Sorgusu ile SVG görüntü dosyası düğümlerinde nasıl gezinileceği açıklanmaktadır:

  • Kaynak SVG dosyasını yükleyin.
  • Değerlendirmek XPath expression.
  • Değerlendirin ve bir sonraki düğümü alın.

Aşağıdaki kod, bu adımların C# dilini kullanarak SVG düğümlerinde programlı olarak gezinmenize nasıl izin verdiğini gösterir:

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

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

    //  Sonraki değerlendirilen düğümü al
    Console.WriteLine((xpathResult.IterateNext() as Element)?.OuterHTML);		  
}

Çözüm

Bu yazıda, SVG dosyasını ve öğelerini nasıl inceleyeceğimizi inceledik. Aynı şekilde, SVG dosyalarından bilgi ayıklamak ve XPath Query kullanarak SVG düğümlerinde gezinmek de tartışılmaktadır. Ayrıca, Belgeleri okuyarak daha fazla bilgi edinebilirsiniz. Ücretsiz Destek Forumu adresinden bize ulaşmaktan çekinmeyin. Size yardımcı olmaktan ve rehberlik etmekten memnuniyet duyarız!

Ayrıca bakınız