Aspose.SVG for .NET 是一个灵活的 SVG 文件处理库,完全兼容其规范。 API 可以通过其文档对象模型 (DOM) 轻松加载、保存和转换 SVG 文件以及读取和遍历文件的元素。 API 独立于任何其他软件,使开发人员能够处理 SVG 文件,而无需深入了解格式的底层细节。

在您的项目中使用 Aspose.SVG C# 库允许您执行以下任务:

高级 .NET SVG 解析 API 功能

编辑和保存 SVG 文件

完全控制 SVG 节点

更改节点属性

使用 XPath 查询的内容导航

通过 CSS 选择器、元素和文档遍历进行导航

使用 C# 转换 SVG

Aspose.SVG for .NET 可以读取 SVG 并将其转换为 PDF、XPS 和主要图像格式。转换过程简单可靠,因此使 SVG .NET API 成为完美的选择。您可以在 C# 或任何其他 .NET 应用程序中使用 API 来开发转换器应用程序,而无需深入了解底层文件格式的细节。获得转换功能很简单,取决于每个应用程序的要求。这里有几行代码用于格式之间的转换。

将 SVG 转换为 PNG - C#


     
using Aspose.Svg;
using System.IO;
using Aspose.Svg.Saving;
using Aspose.Svg.Converters;
...
    
    // Initialize an SVG document from a file
    using (var document = new SVGDocument("input.svg"))
    {
    	// Create an instance of the ImageSaveOptions class
    	var pngSaveOptions = new ImageSaveOptions();    
    
        // Convert SVG to PNG
    	Converter.ConvertSVG(document, pngSaveOptions, "output.png");
    }


您可以在这里尝试在线 SVG 转换器。

其他支持的 SVG 转换:

将光栅图像转换为矢量图形

使用 Aspose.SVG API 将图像转换为矢量非常简单。 ImageVectorization 命名空间包括用于实现图像矢量化过程的类和接口。以下代码片段演示了使用 ImageVectorizer 类进行图像矢量化:

将图像转换为矢量 - C#


     
using Aspose.Svg.ImageVectorization;
using Aspose.Svg.Saving;
...
    
	// Initialize an instance of the ImageVectorizer class
	var vectorizer = new ImageVectorizer
	{
		Configuration = 
		{
			TraceSmoother =   new ImageTraceSmoother(1),
			TraceSimplifier = new ImageTraceSimplifier(0.5f),
			ColorsLimit = 3
		}
	};
	
	// Vectorize raster image from the specified file
	using var document = vectorizer.Vectorize("input.png");
	
	// Save vectorized image as SVG file 
	document.Save("output.svg");



您可以尝试在线 此处的图像矢量化器.

其他支持的矢量化器:

在 C# 中合并 SVG

Renderer() 方法使您能够一次将多个文档发送到输出渲染设备并合并它们。文档合并可以用几行代码来完成:

将 SVG 合并为 PDF - C#


     
using Aspose.Svg;
using Aspose.Svg.Rendering;
using Aspose.Svg.Rendering.Pdf;
...   
	
	// Initialize SVG documents from files to merge later
	using (var document1 = new SVGDocument("input1.svg"))
	using (var document2 = new SVGDocument("input2.svg"))
	using (var document3 = new SVGDocument("input3.svg"))
	{
		// Create an instance of SvgRenderer
		using (var renderer = new SvgRenderer())
		{
			// Create an instance of PdfDevice
			using (var device = new PdfDevice("output.pdf"))
			{
				// Merge all SVG documents to PDF
				renderer.Render(device, document1, document2, document3);
			}
		}
	}



其他支持的合并:

  

Support and Learning Resources