C# SVG API,创建编辑转换 SVG 文件

是时候宣布将 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 包管理器

C# .NET SVG 库

包管理器控制台

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

也可以看看