Файлы SVG определяют графику в формате XML. Их можно масштабировать или печатать в любом размере без ущерба для качества изображения. В некоторых случаях вам может понадобиться повернуть изображение SVG. Соответственно, в этой статье рассказывается, как программно повернуть изображение SVG в C#.
- Поворот изображения C# SVG — установка API
- Как программно повернуть файл изображения SVG в C#
- Программно повернуть изображение SVG в C#
Поворот изображения C# SVG — установка API
Aspose.SVG для .NET поддерживает работу с файлами SVG. Вы можете редактировать, обновлять или создавать изображения SVG из приложений на основе .NET Framework. Просто загрузите эталонные DLL-файлы со страницы Загрузки или выполните команду установки NuGet ниже:
PM> Install-Package Aspose.SVG
Как программно повернуть файл изображения SVG в C#
Вы можете повернуть файл изображения SVG, выполнив следующие действия:
- Откройте входной файл SVG и создайте графический элемент.
- Задайте преобразование поворота и укажите угол поворота.
- Добавьте графический элемент.
- Сохраните повернутое изображение SVG.
Программно повернуть изображение SVG в C#
Вам необходимо выполнить следующие шаги, чтобы повернуть изображение SVG в C#:
- Загрузите входной файл SVG с классом SVGDocument.
- Укажите угол поворота и установите преобразование поворота.
- Добавьте графический элемент.
- Запишите выходное повернутое изображение SVG, используя метод Сохранить.
В приведенном ниже коде объясняется, как программно с помощью C# повернуть изображение SVG со встроенным HTML-содержимым:
// Откройте документ 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;
}
// Добавить элемент g к элементу svg
document.RootElement.AppendChild(g);
// Сохранить измененный документ
document.Save("roatedexample.svg");
Получить бесплатную лицензию API
Вы можете запросить бесплатную временную лицензию для полноценного тестирования API.
Вывод
В этой статье вы узнали, как программно повернуть изображение SVG на C#. Кроме того, вы можете посетить раздел документация, чтобы узнать о других функциях API. В случае каких-либо неясностей, пожалуйста, не стесняйтесь обращаться к нам на форуме.