图像模板– Image Stencil – 如何用 Python 制作模板
什么是图像模板 (Image Stencil)?
图像模板是转换为轮廓或形状的图像的简化视觉表示。此过程称为图像模板,涉及将光栅图像转换为模板或模板以创建设计或艺术品。通常,这是通过矢量化来实现的,矢量化将光栅图像转换为由点、直线和曲线组成的矢量图形。该技术可以创建适合艺术、设计和工业中各种应用的图片。
图像模板广泛应用于艺术和设计领域,以创建精确、可重复的高精度设计。这在印刷中也很常见,模板将墨水或其他介质涂在表面上。此外,模板印刷在各个领域都很实用,例如建筑领域,它用于绘制道路线或建筑标记。该技术可以从光栅图像中高效、准确地创建设计。
如何制作模板
Aspose.SVG for Python via .NET 提供了一个 API,用于通过将图像矢量化为由点、直线和曲线组成的图形来创建模板效果。创建图像模板首先上传图像并向其应用矢量化算法 - 量化其颜色、轮廓跟踪以提取形状等。此外,您可以调整矢量化设置,例如应用跟踪平滑,以消除锯齿状边缘并生成抛光的图像图像。
创建模板后,可以将矢量化图像导出为 SVG 文件,作为模板效果的模板。然后可以使用该模板手动或使用数字设计工具创建所需的设计。 Aspose.SVG for Python via .NET 提供了一个强大的、用户友好的界面,可以从光栅图像高效、高质量地创建模板,使其成为艺术家和设计师的宝贵工具。
要体验从图像创建模板,您可以使用基于 Web 的应用程序 模板绘图。
创建图像模板 (Image Stencil) – Python 代码
以下是如何使用 Aspose.SVG Python 库将 PNG 图像转换为模板的 Python 代码示例。您应该遵循以下几个步骤:
- 初始化
BezierPathBuilder 类的实例来配置图像矢量化并定义路径构建策略。
- 设置 trace_smoother 属性以平滑轮廓片段。
- 设置 error_threshold 属性来定义路径近似中允许的误差。
- 指定 max_iterations 属性来控制路径构建的迭代次数。
- 创建
ImageVectorizer 类的实例。
ImageVectorizer
是用于将图像转换为矢量图形的主类。- 将
path_builder 属性设置为之前配置的
BezierPathBuilder
实例。这意味着矢量化器将使用path_builder
中指定的设置来创建和优化路径。 - 指定 colors_limit 属性以限制矢量化中使用的颜色数量。
- 设置 line_width 属性来定义矢量线的宽度。
- 将
path_builder 属性设置为之前配置的
- 初始化
StencilConfiguration 类的实例来配置图像模板。
- 将
type
属性设置为StencilType.MONO_COLOR
。这将创建一个轮廓具有单一、统一颜色的模板。 - 使用
Color.from_rgb()
方法将color
属性设置为特定的 RGB 颜色。 - 将配置的
StencilConfiguration
实例分配给矢量化器配置的 stencil 属性。
- 将
- 使用
ImageVectorizer
类的 vectorize()方法,提供图像文件的路径。此方法返回一个SVGDocument
。 - 调用
SVGDocument
类的 save() 方法将矢量化图像保存为 SVG 文件,并指定输出路径。
1import os
2from aspose.svg import *
3from aspose.svg.drawing import *
4from aspose.svg.rendering.image import *
5from aspose.svg.imagevectorization import *
6
7# Setup directories
8input_folder = "data/"
9output_folder = "output/"
10if not os.path.exists(output_folder):
11 os.makedirs(output_folder)
12
13# Configuration for image vectorization
14path_builder = BezierPathBuilder()
15path_builder.trace_smoother = ImageTraceSmoother(2)
16path_builder.error_threshold = 20.0
17path_builder.max_iterations = 10
18
19vectorizer = ImageVectorizer()
20vectorizer.configuration.path_builder = path_builder
21vectorizer.configuration.colors_limit = 5
22vectorizer.configuration.line_width = 1.0
23
24# Configuration for image stencil
25stencil_config = StencilConfiguration()
26stencil_config.type = StencilType.MONO_COLOR
27stencil_config.color = Color.from_rgb(0, 0, 255)
28vectorizer.configuration.stencil = stencil_config
29
30# Vectorize an image
31src_file = "image.png"
32with vectorizer.vectorize(os.path.join(input_folder, src_file)) as document:
33 output_file = os.path.join(output_folder, "image-stencil.svg")
34 document.save(output_file)
Aspose.SVG 提供免费的在线 图像矢量化器,旨在将 JPG、PNG、BMP、TIFF 和 GIF 等位图图像转换为矢量图形。转换后,所有矢量图形元素都保存为 SVG 文件。我们的免费矢量化器适用于任何平台。有了这个应用程序,您可以应用各种选项来获得完美的结果。使用我们的免费图像矢量化器节省时间并体验矢量图形的优势!