Изображения SVG широко используются в Интернете, особенно там, где важны масштабируемость и качество изображений. Вы можете проверять, извлекать или перемещаться по элементам изображения SVG программно с помощью C#. Давайте рассмотрим следующие разделы для получения дополнительной информации:
- Проверка SVG или навигация в C# — установка API
- Проверка документа SVG и его элементов
- Извлечение информации о конкретных элементах SVG
- Навигация по SVG с помощью XPath Query
Проверка SVG или навигация в C# — установка API
Aspose.SVG для .NET API поддерживает создание, редактирование и преобразование файлов SVG. Вы можете скачать файл DLL в формате ZIP из раздела Загрузки. Вы также можете настроить его с помощью диспетчера пакетов NuGet в Microsoft Visual Studio. Для его настройки можно использовать следующую команду установки NuGet:
PM> Install-Package Aspose.SVG
Проверка документа SVG и его элементов
Несколько методов в Aspose.SVG для .NET API основаны на спецификациях обхода элементов согласно W3C. Вы можете подробно изучить файл SVG, выполнив следующие действия:
- Загрузите входной файл SVG.
- Загружайте различные элементы с помощью объекта DocumentElement.
- Доступ к значению любого свойства.
В приведенном ниже коде объясняется, как программно проверять документы SVG и их различные элементы с помощью C#:
// Загрузите документ
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
}
Извлечение информации о конкретных элементах SVG
Файл изображения SVG состоит из нескольких элементов под корневым элементом. Класс SVGDocument предоставляет различные методы для извлечения информации об определенных элементах SVG, например, ParentElement и GetElementsByClassName. Давайте выполним следующие шаги для извлечения информации о конкретных элементах SVG:
- Загрузите входное изображение SVG.
- Получите доступ к атрибуту DocumentElement.
- Прочитайте любой конкретный элемент.
В следующем коде показано, как программно извлечь информацию о конкретном элементе SVG с помощью C#:
//Загрузить документ из файла
string documentPath = Path.Combine(DataDir, "shapes.svg");
using (var document = new SVGDocument(documentPath))
{
// Получить корневой элемент svg документа
var svg = document.DocumentElement;
// Найти первый дочерний элемент с заданным именем тега
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
}
Для этой демонстрации мы рассмотрели работу с файлом shapes.svg.
Навигация по SVG с помощью XPath Query
Язык запросов XPath используется для выбора узлов из документов на основе XML. Следующие шаги объясняют, как перемещаться по узлам файлов изображений SVG с помощью XPath Query:
- Загрузите исходный файл SVG.
- Оценивать XPath expression.
- Оцените и получите следующий узел.
В приведенном ниже коде показано, как эти шаги позволяют программно перемещаться по узлам SVG с помощью языка 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")))
{
// Оценить выражение XPath
var xpathResult = document.Evaluate("//rect[@x='120']", document, null, (Dom.XPath.XPathResultType)XPathResultType.Any, null);
// Получить следующий оцениваемый узел
Console.WriteLine((xpathResult.IterateNext() as Element)?.OuterHTML);
}
Вывод
В этой статье мы рассмотрели, как проверить файл SVG и его элементы. Аналогичным образом, также обсуждается извлечение информации из файлов SVG и навигация по узлам SVG с использованием XPath Query. Кроме того, вы можете узнать больше, прочитав Документацию. Не стесняйтесь обращаться на Форум бесплатной поддержки. Будем рады помочь и направить вас!