在线图像矢量化器

如果您需要矢量化图像,请使用我们的免费在线工具! Image Vectorizer 支持 JPEG、JPG、PJP、PJPEG、PNG、BMP、ICO、GIF、TIFF、WEBP、XBM 等位图格式。它提供了各种选项,用于在将位图保存为 SVG 格式之前对其进行预处理。立即将您的图像转换为可缩放且清晰的矢量艺术!




PNG图像矢量化

图像矢量化是将位图图像转换为矢量图形的过程 - 贝塞尔曲线、样条曲线和直线。您可能出于多种原因想要对位图进行矢量化 - 缩放、小文件大小、动画支持等,或者您只是想尝试图像并获得一些有趣的矢量化效果。无论哪种方式,如果您对摄影、绘画、设计、艺术和 Web 开发感兴趣,位图矢量化都是一种很好的体验。

Aspose.SVG for .NET API 提供了一个高速 C# 库,可用于不同的 SVG 解析任务. ImageVectorization 命名空间包括用于实现图像矢量化过程的类和接口。在本文中,我们将了解如何在 C# 中或使用在线 Image Vectorizer 将 Image 转换为矢量图形。


如何使用图像矢量化器?

  1. 首先,从本地文件系统加载 JPEG、JPG、PJP、PJPEG、WEBP、PNG、BMP、ICO、GIF、TIFF、XBM 或其他位图格式的光栅图像。您将看到三个窗口 - 源、量化和矢量化 - 带有初始、颜色量化和矢量化图像的预览。
  2. Image Vectorizer 使用默认设置将 PNG 转换为矢量,您可以将矢量化的 PNG 下载为 SVG 文件。但是为了获得更好的结果,您可以使用两个设置侧边栏来处理量化和矢量化过程。单击 “Quantize” 按钮应用量化设置,单击 “Vectorize” 按钮应用矢量化设置并将 PNG 转换为 SVG。
  3. 点击 “Download” 按钮获取结果。

Image Vectorizer 将光栅位图图像转换为由轮廓构成的矢量图。矢量化算法包括以下步骤:颜色量化、轮廓跟踪、轨迹平滑、轨迹简化以及从轨迹构建 SVG 路径元素。应用自定义设置以获得最佳的 PNG 矢量化结果。

量化侧边栏

颜色量化是选择有限数量的颜色以在图像中使用的过程。当要减少图像的颜色信息时应用它。颜色量化是一个非常复杂的过程,涉及许多因素。这可以使用不同的算法来实现。每个算法都确定较大颜色集中的哪些颜色保留在新图像中,以及丢弃的颜色如何映射到剩余的颜色。

  • colors - 所需的调色板大小;
  • method - 实现各种颜色量化算法的直方图方法;
  • minHueCols - 是一个适用于颜色渐变的参数;
  • scale - 或调整比例因子以对平面中的颜色进行更精细或更粗糙的采样;
  • grayscale - 您可以通过单击复选框将图像转换为灰度。

矢量化侧边栏

  • threshold - 负责设置标记轮廓的像素数;
  • severity - 影响轮廓的平滑并确定查询点最近邻方法所考虑的区域范围。
  • line-width - 影响用于标记轮廓的线条宽度;
  • stencil - 将普通图像或照片转换为轮廓图像,可用作涂鸦效果的模板;
  • trace paths - 您可以查看曲线中负责构建路径段的点。

矢量图形是创建徽标、图标、页面布局、地图、图表、线条艺术、插图、技术图纸等的最佳选择。对于具有混合颜色或编辑照片的连续色调图像,它不是最合适的格式。但是,矢量化照片可以产生令人印象深刻的艺术效果,这些效果可能有趣且有用。

如何在 C# 中矢量化 PNG

.NET API 的 Aspose.SVG 提供了类和方法,允许您实现图像矢量化过程,并在以矢量格式保存图像之前使用图像的各种预处理选项。处理涉及控制以下矢量化选项:TraceSimplifier、TraceSmoother、PathBuilder 等。


在 C# 中将 PNG 转换为 SVG

	// Initialize an instance of the ImageVectorizer class
    var vectorizer = new ImageVectorizer
    {
        Configuration = 
		{
			// Set severity
			TraceSmoother =   new ImageTraceSmoother(3),
			// Set tolerance
			TraceSimplifier = new ImageTraceSimplifier(0.3f),
			// Set tension
        	PathBuilder = new PathBuilder(0.5f),
		}
    };
    // Vectorize PNG from the specified file
	using var document = vectorizer.Vectorize(InputFolder + "image.png");
    // Save vectorized PNG as SVG file 
	document.Save(OutputFolder + "image.svg");

在 C# 中将 PNG 转换为 SVG 的步骤

要使用 Aspose.SVG 对 PNG 图像进行矢量化,您应该遵循以下几个步骤:

  1. 初始化 ImageVectorizer 类的一个实例。使用 ImageVectorizer() 构造函数之一并指定配置属性。

    • TraceSmoother 属性设置跟踪更平滑。它用于平滑轮廓的碎片。
    • TraceSimplifier 属性设置跟踪简化。因此,轨迹曲线将由具有更少(或更大)点的线段组成。
    • PathBuilder 属性设置 SVG 路径段构建器并影响曲线在控制点处弯曲的剧烈程度。
  2. 从指定文件矢量化 PNG。 Vectorize() 方法获取图像文件的路径并返回一个 SVGDocument。

  3. 将矢量化的 PNG 保存为 SVG。使用 Save() 方法并将输出路径传递给它。


在文档章节中 矢量化 - 基本概述,您将找到图像矢量化信息,图像矢量化过程和矢量化选项的描述,学习如何将PNG,JPG,BMP,TIFF,GIF,ICO等光栅图像矢量化为SVG文档。您将考虑一些 C# 示例来演示 ImageVectorization 功能以及配置属性对矢量化结果的影响。


常问问题

1. 如何矢量化 PNG?

Aspose.SVG 允许您以任何方式将 PNG 转换为 SVG - 在线或以编程方式。例如,您可以使用在线 Image Vectorizer 实时对 PNG 进行矢量化,它可以快速且高质量地转换您的图像。另一方面,您可以使用 Aspose.SVG for .NET API 以编程方式对 PNG 进行矢量化。

2. 图像矢量化有什么用?

矢量图像对于任何使用绘图、图形或草图的专业人士来说都是必不可少的。许多设计师、印刷商、建筑师和艺术家经常选择使用草图或绘图作为矢量图。他们有充分的理由!与位图图形不同,矢量图可以调整大小和可扩展性而不会损失任何质量,并且它们仍然可以清晰地显示。此外,矢量化可用于更新或恢复图像。
矢量图像是您制作横幅、徽标、地图、标志、刺绣、雕刻、图表、蓝图等所需的。

3. 什么是光栅到矢量的转换?

图像从光栅到矢量的转换过程称为图像矢量化。这是一个复杂的计算过程,它将由像素组成的位图图像转换为由线条、曲线和其他几何形状组成的矢量图像。

4. 矢量化是如何发生的?

矢量化过程使用彩色图像量化 - 一种减少图像中使用的不同颜色数量的技术,旨在使新图像在视觉上尽可能与原始图像相似。 然后,矢量化器使用一组轮廓追踪算法将所有相同颜色的点或像素替换为几何形状或曲线。 最后一步是将跟踪点转换为 SVG 路径线和贝塞尔曲线,并将它们添加到 SVG 文档中。



什么是 PNG 文件格式?

PNG(便携式网络图形)是指一种使用无损压缩的光栅图像文件格式。此文件格式是作为图形交换格式 (GIF) 的替代品而创建的,没有版权限制。但是,PNG 文件格式不支持动画。 PNG文件格式支持无损图像压缩,使其在用户中很受欢迎。随着时间的推移,PNG 已经发展成为最常用的图像文件格式之一。几乎所有操作系统都支持打开 PNG 文件。例如,Microsoft Windows 查看器能够打开 PNG 文件,因为操作系统默认支持作为安装的一部分。

什么是 SVG 文件格式?

SVG 文件是可缩放矢量图形文件,它使用基于 XML 的文本格式来描述图像的外观。在 SVG 文件中,图像被描述为几何图元:线条、曲线、形状、文本等。矢量对象被构建和存储为一组命令、数字、公式,而不是像在位图图像中那样以像素网格形式存储。 Scalable 这个词指的是 SVG 可以缩放到不同的大小而不会损失任何质量。此类文件的基于文本的描述使它们独立于分辨率。它是用于网站建设和打印图形以实现可扩展性的最常用格式之一。 SVG 文件可以在几乎所有现代浏览器中查看/打开,包括 Chrome、Internet Explorer、Firefox 和 Safari。

Aspose.SVG for .NET API 入门

如果您有兴趣开发可扩展矢量图形及其应用程序,请安装我们灵活、高速的 Aspose.SVG for .NET API,其中包含一组强大的 C# 和其他 .NET 编程语言接口。
从命令行安装为 nuget install Aspose.SVG 或通过 Visual Studio 的 Package Manager Console 使用 Install-Package Aspose.SVG 安装。 或者,从 下载 获取离线 MSI 安装程序或 DLL 的 ZIP 文件。Aspose.SVG for .NET API 是一个独立的库,不依赖于任何 SVG 文档处理软件。 有关 C# 库安装和系统要求的更多详细信息,请参阅 Aspose.SVG for .NET 文档

其他支持的矢量化器

Text to Vector (SVG Text)
JPG to SVG (JPEG Image)
PNG to SVG (Portable Network Graphics)
Image to SVG (Raster Image)
BMP to SVG (Microsoft Windows Bitmap)
GIF to SVG (Graphical Interchange Format)
TIFF to SVG (Tagged Image File Format)
ICO to SVG (Windows Icon)
Stencil Drawing (Stencil Maker)