是時候宣布將 C# SVG 庫添加到我們的產品線了 - Aspose.SVG for .NET。它是一個 .NET 類庫,可讓您在基於 .NET 或 .NET Core 的應用程序中使用 C# 以編程方式創建、編輯、讀取和轉換 SVG 文件。讓我們快速瀏覽一下 API 的安裝方法和主要功能。
C# .NET SVG API - 安裝
Aspose.SVG for .NET DLL 可以從我們的 下載 部分下載。另一方面,您可以通過 NuGet 包管理器或 Visual Studio 中的包管理器控制台安裝它。
NuGet 包管理器
包管理器控制台
PM> Install-Package Aspose.SVG
現在讓我們看一下處理 SVG 文件的 API 的一些顯著特性。
使用 C# 創建 SVG 文件
Aspose.SVG for .NET 允許您創建一個具有 SVG 結構的空文件。此外,您還可以從用戶定義的字符串創建 SVG 文件。 API 提供了 SVGDocument 類來創建 SVG 文件,您可以進一步使用該對象來用 SVG 元素填充文檔。完成後,您可以使用 SVGDocument.Save() 方法保存文件。以下代碼示例展示瞭如何從頭開始創建 SVG 文件。
在 C# 中創建空的 SVG 文件
// 如需完整示例和數據文件,請訪問 https://github.com/aspose-svg/Aspose.SVG-for-.NET
using (var document = new SVGDocument())
{
// 在此處對文檔執行一些操作...
}
在 C# 中使用用戶定義的字符串創建 SVG
// 如需完整示例和數據文件,請訪問 https://github.com/aspose-svg/Aspose.SVG-for-.NET
using (var document = new SVGDocument("<svg xmlns='http://www.w3.org/2000/svg'><circle cx='50' cy='50' r='40'/></svg>", "."))
{
// 在此處對文檔執行一些操作...
}
在 C# 中編輯 SVG 文件
Aspose.SVG for .NET 還允許您編輯 SVG 文件以更新其內容。 API 的數據對像模型有效地映射了 SVG 的官方規範,以訪問和編輯 SVG 節點及其元素。以下代碼示例顯示瞭如何在 C# 中編輯 SVG 文件。
// 如需完整示例和數據文件,請訪問 https://github.com/aspose-svg/Aspose.SVG-for-.NET
string dataDir = RunExamples.GetDataDir_Data();
using (var document = new SVGDocument(Path.Combine(dataDir, "smiley.svg")))
{
const string @namespace = "http://www.w3.org/2000/svg";
var circle = (SVGCircleElement)document.CreateElementNS(@namespace, "circle");
circle.Cx.BaseVal.Value = 50;
circle.Cy.BaseVal.Value = 50;
circle.R.BaseVal.Value = 40;
var g = document.QuerySelector("g");
g.AppendChild(circle);
Console.WriteLine(g.OuterHTML);
}
在 C# 中讀取 SVG 文件
如果您想讀取現有的 SVG 文件,可以使用 SVGDocument 類加載它。只需創建一個新對象並使用 SVG 文件的路徑對其進行初始化,如以下代碼示例所示。
// 如需完整示例和數據文件,請訪問 https://github.com/aspose-svg/Aspose.SVG-for-.NET
string dataDir = RunExamples.GetDataDir_Data();
using (var document = new SVGDocument(Path.Combine(dataDir, "smiley.svg")))
{
// 在此處對文檔執行一些操作...
}
將 SVG 文件轉換為 PSD、XPS 或光柵圖像
您還可以將 SVG 文件轉換為各種其他文件格式。支持的轉換包括:
- SVG 轉 PDF
- SVG 轉 XPS
- SVG 到圖像(JPEG、PNG、BMP、GIF、TIFF)
以下代碼示例顯示瞭如何在 C# 中將 SVG 文件轉換為 PDF。
// 如需完整示例和數據文件,請訪問 https://github.com/aspose-svg/Aspose.SVG-for-.NET
string dataDir = RunExamples.GetDataDir_Data();
using (var document = new SVGDocument(Path.Combine(dataDir, "smiley.svg")))
{
var options = new PdfRenderingOptions()
{
PageSetup =
{
AnyPage = new Page(new Size(500, 500))
}
};
using (var device = new PdfDevice(options, dataDir + "smiley_out.pdf"))
{
document.RenderTo(device);
}
}
有關 SVG 到 XPS 和 SVG 到圖像的代碼示例,請訪問 Converting SVG Files in C#。
了解有關 .NET SVG API 的更多信息
您可以通過下載 示例項目 來評估 API 的功能。有關詳細信息,請參閱 API 的 文檔。如果您有任何問題或疑問,請隨時通過我們的 論壇 告訴我們。