在线图像矢量化器

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




BMP 图像矢量化

在矢量化下,我们指的是用数学曲线替换位图的过程,以及由路径元素组成并保存为 SVG 的几何形状。出于多种原因,您可能希望对位图进行矢量化。矢量图形有一系列优点:缩放、小文件大小、动画支持等,或者您只是想尝试图像并获得一些有趣的矢量化效果。无论如何,如果您对摄影、绘画、设计、艺术和 Web 开发感兴趣,位图矢量化是一种很好的体验。

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


如何使用图像矢量化器?

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

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

量化侧边栏

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

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

矢量化侧边栏

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

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

如何在 C# 中矢量化 BMP

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


在 C# 中将 BMP 转换为 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 BMP from the specified file
	using var document = vectorizer.Vectorize(InputFolder + "image.bmp");
    // Save vectorized BMP image as SVG file 
	document.Save(OutputFolder + "image.svg");

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

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

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

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

  3. 将矢量化 BMP 图像保存为 SVG 文件。


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

Aspose.SVG 提供免费在线 Image Vectorizer 允许您将 JPG、PNG、BMP、TIFF、ICO 和 GIF 位图图像转换为矢量图形。使用此应用程序,您可以应用一组选项来获得完美的结果。节省您的时间并检查此图像矢量化器以获得矢量图形的所有好处!


常问问题

1. 如何矢量化 BMP?

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

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

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

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

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

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

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



什么是 BMP 文件格式?

BMP(Microsoft Windows 位图)是一种位图图像文件格式,其中图像存储为二维像素数组,每个像素在 RGB 颜色模型中都有自己的颜色。扩展名为 .BMP 的文件用于存储几乎任何类型的位图数据。这些图像独立于图形适配器,也称为设备无关位图 (DIB) 文件格式。这种独立性的目的是在 Microsoft Windows 和 Mac 等多个平台上打开文件。 BMP 文件格式可以将数据存储为单色以及具有各种颜色深度的彩色格式的二维数字图像。虽然 BMP 基于 Windows 内部位图数据结构,但它被许多非 Windows 和非 PC 应用程序支持。

什么是 SVG 文件格式?

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

.NET SVG API 入门

从命令行安装为 nuget install Aspose.SVG 或通过 Visual Studio 的 Package Manager Console 使用 Install-Package Aspose.SVG 安装。 或者,从 下载 获取离线 MSI 安装程序或 DLL 的 ZIP 文件。用于 .NET API 的 Aspose.SVG 是一个独立库,不依赖于任何用于 SVG 文档处理的软件。 有关 C# 库安装和系统要求的更多详细信息,请参阅 Aspose.SVG 文档

其他支持的矢量化器

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)
TIF to SVG (Tagged Image File Format)
ICO to SVG (Windows Icon)
Stencil Drawing (Stencil Maker)