C# 中带有图像的 SVG | SVG 中的 PNG | SVG 格式的 JPG

可缩放矢量图形 (SVG) 是一种功能强大的图像格式,可用于创建高质量、可缩放的 Web 图像。 SVG 图像是使用 XML 代码创建的,这使得它们易于创建和修改。在某些情况下,我们可能需要在 SVG 中嵌入 PNG 或 JPG 图像等资源。在这篇博文中,我们将向您展示如何使用 C# 创建内部包含图像的 SVG。

本文涵盖以下主题:

  1. C# API 创建内部图像的 SVG
  2. 在 SVG 中嵌入 PNG
  3. 在 SVG 中嵌入 SVG
  4. 获取免费许可证
  5. 免费学习资源

C# API 创建包含图像的 SVG

我们将使用 Aspose.SVG for .NET 创建一个内部包含图像的 SVG。它允许开发人员在 .NET 应用程序中使用 SVG 文件。该 API 能够加载、解析、渲染、创建 SVG 文件并将其转换为流行格式,而无需软件依赖。

下载 API 的 DLL 或使用 NuGet 安装它。

PM> Install-Package Aspose.SVG

使用 C# 在 SVG 中嵌入 PNG

我们可以使用 SVG 轻松地将位图图像嵌入到 SVG 对象中<image> 元素。 SVG<image> 元素能够渲染各种格式的图像,例如 JPEG、PNG,甚至 SVG 图形。 的属性<image> 元素定义位图的显示方式。主要属性包括:

  • x 和 y:表示图像左上角的坐标。
  • 宽度和高度:它们决定了显示图像的“窗口”的宽度和高度。这两个属性都是强制性的。
  • href 和 xlink:href:这些属性指向图像文件的 URL。
  • keepAspectRatio:此属性控制图像如何按比例缩放。

我们可以按照以下步骤轻松创建一个包含 PNG 的 SVG:

  1. 将 SVG 内容指定为字符串。
  2. 之后,从字符串内容创建 SVGDocument 类的实例。
  3. 最后,使用 Save() 方法保存图像。

以下代码示例演示如何使用 C# 将 PNG 图像嵌入到 SVG 中。

// 指定嵌入 PNG 图像的 SVG 内容。
string content = "<svg height=\"500\" width=\"600\" xmlns=\"http://www.w3.org/2000/svg\">\r\n    " +
                "<circle cx=\"120\" cy=\"100\" r=\"90\" style=\"fill:blue; stroke-width:3; stroke:rgb(0,0,0); fill-opacity:0.7\"  />" +
                "<image href=\"https://www.aspose.cloud/templates/aspose/App_Themes/V3/images/svg/272x272/aspose_svg-for-net.png\" x=\"70\" y=\"50\" height=\"100\" width=\"100\" />\r\n    \t" +
                "<text x=\"40\" y=\"250\">Embedded PNG image</text>\r\n    \t" +
        "</svg>";

// 使用 SVGDocument 初始化 SVG 文档。
SVGDocument document = new SVGDocument(content, ".");

// 使用 SVGSaveFormat 枚举将文档保存到文件。
document.Save("C:\\Files\\EmbedPNG.svg", SVGSaveFormat.SVG);
使用 C# 在 SVG 中嵌入 PNG

使用 C# 将 PNG 嵌入 SVG。

使用 C# 将 SVG 嵌入到 SVG 中

同样,我们可以按照前面提到的步骤创建一个内部包含 SVG 图像的 SVG。

以下代码示例演示如何使用 C# 将 SVG 图像嵌入到 SVG 中。

// 指定嵌入 PNG 图像的 SVG 内容。
string documentContent = "<svg height=\"500\" width=\"500\" xmlns=\"http://www.w3.org/2000/svg\">\r\n\t" +
        "<image href=\"https://docs.aspose.com/svg/net/navigation-inspection/shapes.svg\" x=\"250\" y=\"10\" height=\"350\" width=\"350\" />\r\n    \t" +
        "<text x=\"300\" y=\"250\">Embedded SVG image</text>    \r\n" +
    "</svg>";

// 使用 SVGDocument 初始化 SVG 文档。
SVGDocument document = new SVGDocument(documentContent, ".");

// 使用 SVGSaveFormat 枚举将文档保存到文件。
document.Save("C:\\Files\\EmbedSVG.svg", SVGSaveFormat.SVG);
使用 C# 将 SVG 嵌入到 SVG 中

使用 C# 将 SVG 嵌入到 SVG 中。

获取免费许可证

您可以获得免费的临时许可证来尝试 Aspose.SVG for .NET,而不受评估限制。

内部带有图像的 SVG – 免费资源

您可以使用以下资源了解有关该库的各种功能的更多信息:

结论

总之,使用 C# 创建嵌入图像的 SVG 图像是一个相对简单的过程。通过遵循本教程中的步骤,您可以创建自己的自定义 SVG 图像,以便在您的网站或应用程序中使用。通过利用 Aspose.SVG for .NET(一个强大且多功能的 SVG 库),您可以轻松创建可在任何设备上使用的嵌入图像的 SVG 图像。如有任何疑问,请随时通过我们的免费支持论坛与我们联系。

也可以看看