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 图像文件:
- 打开输入的 SVG 文件并创建一个图形元素。
- 设置旋转变换并指定旋转的度数。
- 附加图形元素。
- 保存旋转的 SVG 图像。
在 C# 中以编程方式旋转 SVG 图像
您需要按照以下步骤在 C# 中旋转 SVG 图像:
- 使用 SVGDocument 类加载输入 SVG 文件。
- 提及旋转的角度并设置旋转变换。
- 附加图形元素。
- 使用 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 的其他功能。如有任何歧义,请随时通过 论坛 与我们联系。