Obrazy SVG są powszechnie używane w Internecie, zwłaszcza tam, gdzie ważna jest skalowalność i jakość obrazów. Możesz programowo sprawdzać, wyodrębniać lub nawigować po elementach obrazu SVG za pomocą języka C#. Przeanalizujmy następujące sekcje, aby uzyskać więcej informacji:
- Inspekcja SVG lub nawigacja w języku C# — instalacja interfejsu API
- Sprawdź dokument SVG i jego elementy
- Wyodrębnij informacje o określonych elementach SVG
- Poruszaj się po SVG za pomocą zapytania XPath
Inspekcja SVG lub nawigacja w języku C# — instalacja interfejsu API
Aspose.SVG for .NET API obsługuje tworzenie, edytowanie lub konwertowanie plików SVG. Możesz pobrać plik DLL jako ZIP z sekcji Downloads. Możesz także skonfigurować go za pomocą Menedżera pakietów NuGet w Microsoft Visual Studio. Do skonfigurowania można użyć następującego polecenia instalacji NuGet:
PM> Install-Package Aspose.SVG
Sprawdź dokument SVG i jego elementy
Kilka metod w Aspose.SVG for .NET API jest opartych na specyfikacjach przechodzenia elementów zgodnie z W3C. Możesz szczegółowo sprawdzić plik SVG, wykonując następujące czynności:
- Załaduj wejściowy plik SVG.
- Załaduj różne elementy za pomocą obiektu DocumentElement.
- Uzyskaj dostęp do wartości dowolnej właściwości.
Poniższy kod wyjaśnia, jak programowo sprawdzać dokumenty SVG i jego różne elementy za pomocą C#:
// Załaduj 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
}
Wyodrębnij informacje o określonych elementach SVG
Plik obrazu SVG składa się z kilku elementów pod elementem głównym. Klasa SVGDocument udostępnia różne metody wyodrębniania informacji o określonych elementach SVG, na przykład ParentElement i GetElementsByClassName. Wykonajmy poniższe kroki, aby wyodrębnić informacje o określonych elementach SVG:
- Załaduj wejściowy obraz SVG.
- Uzyskaj dostęp do atrybutu DocumentElement.
- Przeczytaj dowolny określony element.
Poniższy kod pokazuje, jak programowo wyodrębnić informacje o określonym elemencie SVG za pomocą języka C#:
//Załaduj dokument z pliku
string documentPath = Path.Combine(DataDir, "shapes.svg");
using (var document = new SVGDocument(documentPath))
{
// Pobierz główny element svg dokumentu
var svg = document.DocumentElement;
// Znajdź pierwszy element potomny o podanej nazwie znacznika
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
}
W tej demonstracji rozważaliśmy pracę z plikiem shapes.svg.
Poruszaj się po SVG za pomocą zapytania XPath
Język zapytań XPath służy do wybierania węzłów z dokumentów opartych na XML. Poniższe kroki wyjaśniają, jak poruszać się po węzłach pliku obrazu SVG za pomocą XPath Query:
- Załaduj źródłowy plik SVG.
- Oceniać XPath expression.
- Oceń i uzyskaj następny węzeł.
Poniższy kod ilustruje, w jaki sposób te kroki umożliwiają programową nawigację po węzłach SVG przy użyciu języka 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")))
{
// Oceń wyrażenie XPath
var xpathResult = document.Evaluate("//rect[@x='120']", document, null, (Dom.XPath.XPathResultType)XPathResultType.Any, null);
// Pobierz następny oceniony węzeł
Console.WriteLine((xpathResult.IterateNext() as Element)?.OuterHTML);
}
Wniosek
W tym artykule zbadaliśmy, jak sprawdzić plik SVG i jego elementy. Omówiono również wydobywanie informacji z plików SVG i nawigację po węzłach SVG za pomocą XPath Query. Ponadto możesz dowiedzieć się więcej, czytając Dokumentację. Skontaktuj się z nami na Bezpłatne forum pomocy. Chętnie Ci pomożemy i doradzimy!