изменить цвет SVG csharp

Изображения SVG становятся популярными из-за их масштабируемости и качества. В некоторых сценариях может потребоваться изменить цвет изображений SVG, чтобы сделать их более привлекательными. В этой статье рассказывается, как программно изменить цвет различных элементов SVG на C#.

Работа с цветом элементов SVG — установка C# .NET API

Вы можете управлять цветом различных элементов SVG, таких как круг, линия и т. д., с помощью Aspose.SVG for .NET API. Просто загрузите файлы DLL из Новые выпуски или используйте следующую команду установки NuGet:

PM> Install-Package Aspose.SVG

Изменить цвет элемента круга SVG в С#

Вы можете изменить цвет элемента круга SVG в C#, выполнив следующие действия:

  1. Создайте экземпляр класса SVGDocument для загрузки входного файла SVG.
  2. Получите корневой и обведите SVG-элемент документа.
  3. Установите атрибут и цвет для элемента SVG.
  4. Сохраните выходное изображение SVG.

Фрагмент кода ниже подробно описывает, как изменить цвет элемента круга SVG в C#:

// Загрузите документ SVG из файла
SVGDocument document = new SVGDocument("shapes.svg");

// Получить корневой элемент svg документа
SVGElement svgElement = document.RootElement;

// Получить элемент круга, чтобы изменить цвет
SVGCircleElement circleElement = svgElement.QuerySelector("circle") as SVGCircleElement;

// Установите новое значение атрибута «заливка» для элемента круга.
circleElement.SetAttribute("fill", "blue");

// Сохраните документ SVG.
document.Save("circle-color.svg");

Изменить цвет линейного элемента SVG в С#

Выполните следующие действия, чтобы изменить цвет элемента Line в изображении SVG на C#:

  • Инициализируйте объект класса SVGDocument для загрузки исходного изображения SVG.
  • Получите корневой и линейный элемент, чтобы изменить цвет.
  • Сохраните полученный файл SVG, используя метод Сохранить.

В следующем фрагменте кода показано, как программно изменить цвет линии в файле SVG на C#:

// Загрузите документ SVG из файла
SVGDocument document = new SVGDocument("basic-shapes.svg");

// Получить корневой элемент svg документа
SVGSVGElement svgElement = document.RootElement;

// Получить элемент строки, чтобы изменить цвет
SVGLineElement lineElement = svgElement.QuerySelector("line") as SVGLineElement;

// Установите новое значение атрибута «штрих» для линейного элемента.
lineElement.SetAttribute("stroke", "blue");

// Сохраните документ SVG.
document.Save("line-color.svg");

Установите цвет фона изображения SVG в С#

Вы можете улучшить внешний вид изображений SVG, установив цвет фона изображений SVG, выполнив следующие действия:

  • Установите пространство имен SVG и загрузите входной файл.
  • Создайте прямоугольный элемент и установите различные свойства.
  • Добавьте прямоугольный элемент в качестве первого дочернего элемента и сохраните выходной файл.

Фрагмент кода ниже демонстрирует, как программно установить цвет фона изображения SVG на C#:

// Установить URL-адрес пространства имен SVG
string SvgNamespace = "http://www.w3.org/2000/svg";

// Загрузите документ SVG из файла
SVGDocument document = new SVGDocument("basic-shapes.svg");

// Получить корневой элемент svg документа
SVGSVGElement svgElement = document.RootElement;

// Создайте прямоугольный элемент и установите значение атрибута «заливка», чтобы изменить цвет фона.
SVGRectElement rectElement = (SVGRectElement)document.CreateElementNS(SvgNamespace, "rect");
rectElement.X.BaseVal.Value = 3;
rectElement.Y.BaseVal.Value = 3;
rectElement.Width.BaseVal.Value = 400;
rectElement.Height.BaseVal.Value = 400;
rectElement.SetAttribute("fill", "Salmon");

// Добавьте элемент прямоугольника в качестве первого дочернего элемента к элементу SVG.
svgElement.InsertBefore(rectElement, svgElement.FirstChild);

// Сохраните документ SVG.
document.Save("background-color.svg");

Получите бесплатную ознакомительную лицензию

Вы можете оценить API без каких-либо ограничений, получив бесплатную ознакомительную лицензию.

Вывод

В этой статье вы узнали, как изменить цвет различных элементов изображения SVG. Точно так же здесь обсуждаются подробности установки цвета фона изображения SVG. Кроме того, вы можете ознакомиться с другими функциями API в разделе документация. В случае возникновения вопросов пишите нам на форум.

Смотрите также

Преобразование SVG в HTML в Linux на C#