Повернути зображення SVG C#

Файли SVG визначають графіку у форматі XML. Їх можна масштабувати або друкувати в будь-якому розмірі без шкоди для якості зображення. У деяких випадках може знадобитися повернути зображення SVG. Відповідно, у цій статті розповідається про те, як програмно обертати зображення SVG у C#.

C# SVG Image Rotation – встановлення API

Aspose.SVG for .NET підтримує роботу з файлами SVG. Ви можете редагувати, оновлювати або створювати зображення SVG у своїх програмах на основі .NET Framework. Просто завантажте довідкові файли DLL зі сторінки Завантаження або запустіть команду встановлення NuGet нижче:

PM> Install-Package Aspose.SVG

Як програмно обертати файл зображення SVG у C#

Ви можете повернути файл зображення SVG, виконавши такі дії:

  1. Відкрийте вхідний файл SVG і створіть графічний елемент.
  2. Встановіть перетворення обертання та вкажіть ступінь обертання.
  3. Додайте графічний елемент.
  4. Збережіть повернуте зображення SVG.

Програмне обертання зображення SVG у C#

Вам потрібно виконати наведені нижче кроки, щоб повернути зображення SVG у C#:

  1. Завантажте вхідний SVG-файл із класом SVGDocument.
  2. Вкажіть кут для повороту та встановіть трансформацію повороту.
  3. Додайте графічний елемент.
  4. Запишіть вихідне повернуте зображення SVG за допомогою методу Save.

Наведений нижче код пояснює, як обертати зображення SVG із вбудованим вмістом HTML програмним шляхом за допомогою C#:

// Відкрийте документ SVG
using var document = new SVGDocument("example.svg");

var svg = document.RootElement as SVGElement;
var bbox = document.RootElement.GetBBox();

if (svg == null)
    return;

// Створити графічний елемент g;
var g = (SVGGElement)document.CreateElementNS("http://www.w3.org/2000/svg", "g");

// Установити обертання трансформації 
g.SetAttribute("transform", $"rotate(45,{(bbox.X + bbox.Width) / 2f}, {(bbox.Y + bbox.Height) / 2f})");

// Скопіюйте дочірні елементи з елемента svg в елемент g
foreach (var childNode in svg.ChildNodes)
    g.AppendChild(childNode.CloneNode(true));
var child = svg.LastElementChild;

// Видалити дітей із svg
while (child != null)
{
    svg.RemoveChild(child);
    child = svg.LastElementChild;
}

// Додайте елемент до елемента svg
document.RootElement.AppendChild(g);

// Зберегти змінений документ
document.Save("roatedexample.svg");

Отримайте безкоштовну ліцензію API

Ви можете запросити безкоштовну тимчасову ліцензію, щоб перевірити API на повну потужність.

Висновок

У цій статті ви дізналися, як програмно повертати зображення SVG у C#. Крім того, ви можете відвідати розділ документація, щоб дізнатися про інші функції API. У разі будь-яких неясностей зв’яжіться з нами на форумі.

Дивись також