将 SVG 转换为 PNG – Python 示例
在本文中,您将找到有关如何通过 .NET 使用 Aspose.SVG for Python 将 SVG 转换为 PNG 的信息。在这里,您将找到使用默认保存选项和精确指定的转换选项进行 SVG 到 PNG 转换的 Python 代码示例。本文提供了 Aspose.SVG for Python via .NET 的转换功能的一般描述,并描述了使用 Converter 类将 SVG 转换为图像的支持场景。
在线 SVG 转换器
您可以通过任何方式(在线或以编程方式)将 SVG 转换为图像和其他流行格式。检查 Aspose.SVG API 功能并实时转换 SVG!请从本地文件系统或 URL 加载 SVG,选择输出格式并运行转换器。在示例中,保存选项是默认设置的。您将立即收到作为单独文件的结果。
如果您想以编程方式将 SVG 转换为 PNG,请参阅以下转换场景和 Python 示例。
将 SVG 转换为 PNG – 使用convert_svg()
方法
PNG(便携式网络图形)格式是一种广泛使用的图像格式,以其无损压缩而闻名,这意味着它在压缩过程中保留图像的所有细节而不会损失质量。它支持透明度,非常适合具有透明背景的网页图形、徽标和图像。 PNG 之所以流行,是因为它提供高图像质量、出色的压缩比以及与各种应用程序和 Web 浏览器的广泛兼容性。此外,它支持多种颜色,适合需要编辑和重新保存的图像。
使用 convert_svg() 方法是将 SVG 转换为各种流行格式的最常见方法。以下代码片段展示了如何使用默认保存选项将 SVG 转换为 PNG:
- 使用
Configuration
类的 set_extension() 方法注册SkiaSharp
扩展。SkiaSharp
模块是一个用于渲染 SVG 内容的图形库。它确保渲染引擎支持转换所需的操作。 - 创建 ImageSaveOptions 类的实例。
- 使用 SVGDocument 类打开源 SVG 文档。
- 使用 convert_svg() 方法将 SVG 转换并保存为 PNG 文件。
1from aspose.svg import *
2from aspose.svg.converters import *
3from aspose.svg.drawing.skiasharp import *
4from aspose.svg.saving import *
5
6# Activate the Aspose.SVG.Drawing.SkiaSharp feature
7Configuration.set_extension(SkiaModule())
8options = ImageSaveOptions()
9with SVGDocument("document.svg") as document:
10
11 # Convert SVG to PNG
12 Converter.convert_svg(document, options, "result.png")
保存选项 – ImageSaveOptions 类
Aspose.SVG 允许使用默认或自定义保存选项将 SVG 转换为图像文件格式。 ImageSaveOptions 的使用使您能够自定义渲染过程。例如,您可以指定图像格式、页面大小、边距、背景颜色等。
Property | Description |
---|---|
compression | Sets Tagged Image File Format (TIFF) Compression. By default, this property is LZW. |
css | Gets a CssOptions object which is used for configuration of CSS properties processing. |
format | Sets the ImageFormat (JPG, PNG, BMP, TIFF, or GIF). By default, this property is PNG. |
background_color | This property sets the color that will fill the background. By default, this property is transparent. |
page_setup | This property allows you to define the layout of the page, including dimensions and margins. |
horizontal_resolution | Sets the horizontal resolution for output and internal images in pixels per inch (dpi). By default, this property is set to 300 dpi, which is used unless overridden by specific conditions. The resolution is always applied unless the Page size is set in pixels (px), in which case the default resolution is 96 dpi. |
vertical_resolution | Sets the vertical resolution for output and internal images in pixels per inch (dpi). By default, this property is set to 300 dpi, which is used unless overridden by specific conditions. The resolution is always applied unless the Page size is set in pixels (px), in which case the default resolution is 96 dpi. |
smoothing_mode | This property sets the rendering quality for this image. |
text | Gets a TextOptions object which is used for configuration of text rendering. |
注意:使用 ImageSaveOptions 类实现的选项继承自 ImageRenderingOptions 类。
使用保存选项将 SVG 转换为 PNG
以下 Python 示例展示了如何使用 ImageSaveOptions 并使用自定义保存选项将 SVG 转换为 PNG。此外,以下 Python 示例将展示如何在文件系统中配置源文件和输出文件的路径。
注意: 我们建议您激活 Aspose.SVG.Drawing.SkiaSharp
功能。 SkiaSharp 模块是一个用于渲染 SVG 内容的图形库。这可确保渲染引擎支持转换所需的操作并提供最佳结果。
- 使用Configuration类的 set_extension()方法注册SkiaSharp扩展。
- 创建
ImageSaveOptions 类的实例并指定所需的保存选项:
- 使用
background_color
属性设置填充背景的颜色。 - 使用
page_setup
属性设置页面大小和边距。 - 使用
horizontal_resolution
和vertical_resolution
属性设置输出图像的水平和垂直分辨率。
- 使用
- 使用 SVGDocument 类打开源 SVG 文档。
- 使用 convert_svg() 方法将 SVG 转换并保存为 PNG 文件。
1import os
2import aspose
3from aspose.svg import *
4from aspose.svg.converters import *
5from aspose.svg.drawing.skiasharp import *
6from aspose.svg.rendering import *
7from aspose.svg.drawing import *
8from aspose.svg.saving import *
9
10# Initialize an SVG document from a file
11input_folder = "data/"
12output_folder = "output/"
13src_file = os.path.join(input_folder, "winter.svg")
14output_file = os.path.join(output_folder, "winter.png")
15if not os.path.exists(output_folder):
16 os.makedirs(output_folder)
17
18# Activate the Aspose.SVG.Drawing.SkiaSharp feature
19Configuration.set_extension(SkiaModule())
20options = ImageSaveOptions()
21options.background_color = aspose.pydrawing.Color.from_argb(231, 217, 230)
22options.page_setup.any_page = Page(Size(600, 550), Margin(10, 10, 10, 10))
23options.horizontal_resolution = Resolution.from_dots_per_inch(96.0)
24options.vertical_resolution = Resolution.from_dots_per_inch(96.0)
25with SVGDocument(src_file) as document:
26
27 # Convert SVG to PNG
28 Converter.convert_svg(document, options, output_file)
您可以通过试用我们的产品来评估转化质量。在这里,我们提供一个示例 - 下图显示了原始的 winter.svg 图像 (a) 和转换为 PNG 且具有新背景颜色的 winter.png 图像 (b):
您可以尝试我们的免费在线 SVG 到 PNG 转换器,它的工作质量高,简单且快速。只需上传 SVG,进行转换,几秒钟内即可获得结果!它快速、简单且完全免费!