旋转 SVG 图像 C#

SVG 文件以 XML 格式定义图形。它们可以按任何尺寸缩放或打印,而不会影响图像的质量。在某些情况下,您可能需要旋转 SVG 图像。因此,本文介绍了如何在 C# 中以编程方式旋转 SVG 图像。

C# SVG 图像旋转 – API 安装

Aspose.SVG for .NET 支持处理 SVG 文件。您可以在基于 .NET Framework 的应用程序中编辑、更新或创建 SVG 图像。只需从 下载 页面下载参考 DLL 文件,或运行以下 NuGet 安装命令:

PM> Install-Package Aspose.SVG

如何在 C# 中以编程方式旋转 SVG 图像文件

您可以通过以下步骤旋转 SVG 图像文件:

  1. 打开输入的 SVG 文件并创建一个图形元素。
  2. 设置旋转变换并指定旋转的度数。
  3. 附加图形元素。
  4. 保存旋转的 SVG 图像。

在 C# 中以编程方式旋转 SVG 图像

您需要按照以下步骤在 C# 中旋转 SVG 图像:

  1. 使用 SVGDocument 类加载输入 SVG 文件。
  2. 提及旋转的角度并设置旋转变换。
  3. 附加图形元素。
  4. 使用 Save 方法编写输出的旋转 SVG 图像。

下面的代码解释了如何使用 C# 以编程方式旋转嵌入 HTML 内容的 SVG 图像:

// 打开 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 elment 附加到 svg elment
document.RootElement.AppendChild(g);

// 保存修改后的文档
document.Save("roatedexample.svg");

获取免费 API 许可证

您可以申请 免费临时许可证 来测试 API 的全部功能。

结论

在本文中,您学习了如何在 C# 中以编程方式旋转 SVG 图像。此外,您可以访问 documentation 部分以了解 API 的其他功能。如有任何歧义,请随时通过 论坛 与我们联系。

也可以看看