在线模板制造商

如果您需要将照片或图像转换为模板,请使用我们的免费在线工具!它不仅可以获取光栅模板,还可以将它们矢量化并使用可缩放且清晰的矢量。 Stencil Maker支持JPEG、JPG、PJP、PJPEG、PNG、BMP、ICO、GIF、TIFF、WEBP、XBM、SVG等多种图片格式!




什么是图像模板?

图像模板化是将普通图片或照片转换为轮廓图像的过程,该轮廓图像可以用作模板来实现类似涂鸦的效果。

将照片或图像转换为模板有几个基本步骤:

  • 将照片或图像转换为灰度,此步骤是可选的,因为您可以减少要量化的颜色数量。
  • 量化图像得到模板,然后你可以下载结果或矢量化它并得到模板形状线条。
  • 绘制模板共有三个选项。第一个是"None",当所有矢量化形状都被填充时,第二个是"Auto",当形状没有被填充并且边框具有"原始"颜色时,最后一个是"MonoСolor",当形状也没有被填充时,但边框具有预定义的颜色。

Aspose.SVG for .NET API 提供了一个高速 C# 库,可用于不同的 SVG 解析任务. ImageVectorization 命名空间包括用于使用模板选项实现图像矢量化过程的类和接口。


如何使用图像矢量化器?

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

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

量化侧边栏

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

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

矢量化侧边栏

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

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

如何在 C# 中制作模板

.NET API 的 Aspose.SVG 提供了允许您实现图像矢量化过程和使用模板选项的类和方法。


通过 C# 制作模具

	// Initialize an instance of the ImageVectorizer class
	var vectorizer = new ImageVectorizer
    {
		//optionally set configuration
        Configuration =
        {
			//optionally set path builder
            PathBuilder = new BezierPathBuilder {
			//optionally set trace smoother
            TraceSmoother = new ImageTraceSmoother(1),
                ErrorThreshold =  30,
                MaxIterations = 30
            },
            ColorsLimit = 10,
            LineWidth = 1,
            // set stencil effect configuration
            Stencil = new StencilConfiguration { Type = StencilType.MonoColor, Color = Aspose.Svg.Drawing.Color.FromRgb(0,0,255) }
        }
    };
    // Vectorize image from the specified file
	using var document = vectorizer.Vectorize(InputFolder + "image.png");
    // Save vectorized image as SVG file 
	document.Save(OutputFolder + "image.svg");

在 C# 中制作 Stencil 的步骤

要从 PNG 图像制作模板,您应该遵循以下几个步骤:

  1. 初始化 ImageVectorizer 类的一个实例。使用 ImageVectorizer() 构造函数之一并指定配置属性。
    • PathBuilder 属性获取或设置 SVG 路径段构建器。
    • ColorsLimit 属性获取或设置用于量化图像的最大颜色数。
    • Stencil 属性获取或设置模板效果配置。默认情况下,不应用模板效果。
  2. 矢量化指定文件中的图像。 Vectorize() 方法获取图像文件的路径并返回一个 SVGDocument。
  3. 将矢量化图像保存为 SVG。使用 Save() 方法并将输出路径传递给它。

在文档章节中 矢量化 - 基本概述,您将找到图像矢量化信息,图像矢量化过程和矢量化选项的描述,学习如何将PNG,JPG,BMP,TIFF,GIF,ICO等光栅图像矢量化为SVG文档。


常问问题

1. 如何矢量化 Image?

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

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

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

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

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

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

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



什么是图像文件格式?

有两种主要类型的数字图像文件——光栅和矢量。流行的光栅图像类型包括 JPEG、PNG、BMP、TIFF 和 GIF 文件格式。位图是将颜色映射到特定位置的像素的二维数组。光栅图像是比矢量图像大得多的文件。光栅格式适用于带有颜色渐变的照片或图片。但它们的主要缺点之一是缩放时质量下降。由于像素数是固定的,因此在调整大小以填充更大或更小的空间时,光栅图像可能会失真或模糊。用太少的像素增加图像的大小会导致像素化,这通常是不可取的。

什么是 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)