旋轉 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})");

// 將 childrens 從 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。

結論

在本文中,您學習瞭如何在 C# 中以編程方式旋轉 SVG 圖像。此外,您可以訪問 文檔 部分來了解 API 的其他功能。如有任何疑問,請隨時通過 論壇 與我們聯繫。

也可以看看