是时候宣布将 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 的 文档。如果您有任何问题或疑问,请随时通过我们的 论坛 告诉我们。