使用 Python 将 SVG 转换为图像、JPG、PNG、BMP、TIFF 和 GIF

在本文中,您将找到有关如何将 SVG 转换为图像文件格式的信息,例如 JPGPNGBMPTIFFGIF。网站开发、平面设计师表演、摄影和其他目的都需要图像文件转换。图像格式的选择取决于您是否以印刷方式打印、通过电子邮件发送或将图像放在网页上。

本文提供了 Aspose.SVG for Python via .NET 的转换功能的一般描述,并描述了使用 ConverterSVGDocument 类支持的 SVG 到图像转换方案。

要继续学习本教程,您应该在 Python 项目中 安装和配置 Aspose.SVG for Python via .NET 库。我们的代码示例可帮助您使用 Python 库转换 SVG 文件。

在线 SVG 转换器

您可以通过任何方式(在线或以编程方式)将 SVG 转换为图像和其他流行格式。检查 Aspose.SVG API 功能并实时转换 SVG!请从本地文件系统或 URL 加载 SVG,选择输出格式并运行示例。在示例中,保存选项是默认设置的。您将立即收到作为单独文件的结果。

                
            

如果您想在Python中以编程方式将SVG转换为图像格式,请参阅以下转换场景和Python代码示例。

将 SVG 转换为 JPG

JPG 格式提供高压缩率且质量损失最小,非常适合在文件大小很重要的网络上使用。它得到跨设备和平台的广泛支持,确保兼容性和易于共享。此外,JPG 处理复杂颜色变化的能力使其成为照片和真实图像的理想选择。

使用convert_svg()方法

使用 convert_svg() 方法是将 SVG 转换为各种流行格式的最常见方法。您可以通过编程方式将 SVG 转换为 JPG 或其他格式,并完全控制各种转换参数。以下代码片段展示了如何将 SVG 转换为 JPG 并指定背景颜色、页面大小、边距以及垂直和水平分辨率。此外,以下 Python 示例将展示如何在文件系统中配置源文件和输出文件的路径:

 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, "сhristmas-tree.svg")
14output_file = os.path.join(output_folder, "сhristmas-tree.jpg")
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.format.JPEG
22options.background_color = aspose.pydrawing.Color.from_argb(233, 255, 241)
23options.page_setup.any_page = Page(Size(450, 450), Margin(20, 20, 20, 20))
24options.horizontal_resolution = Resolution.from_dots_per_inch(96.0)
25options.vertical_resolution = Resolution.from_dots_per_inch(96.0)
26with SVGDocument(src_file) as document:
27
28    # Convert SVG to JPG
29    Converter.convert_svg(document, options, output_file)

您可以通过试用我们的产品来评估转化质量。在这里,我们提供一个说明 - 下图显示了原始 сhristmas-tree.svg 图像 (a) 和转换后的 сhristmas-tree.jpg 图像(具有新的背景颜色)(b):

文本“原始 сhristmas-tree.svg 图像和转换后的带有新背景颜色的 сhristmas-tree.jpg 图像”

如何将 SVG 转换为图像

Aspose.SVG for Python via .NET 支持将 SVG 转换为图像格式,例如 PNG、JPG、JPEG、BMP、TIFF、GIF 和 WEBP。您可以使用上面的 Python 代码来实现此目的;要更改输出图像格式,只需在输出文件名中指定所需的扩展名(格式)并设置format属性即可。

例如,要将 SVG 转换为 GIF ,您需要:

1.设置format属性:options.format.GIF, 2.并在输出图像文件名中设置扩展名.gifoutput_file = os.path.join(output_folder, "image.gif")

图像保存选项 – ImageSaveOptions 类

Aspose.SVG 允许使用默认或自定义保存选项将 SVG 转换为图像文件格式。 ImageSaveOptions 使用使您能够自定义渲染过程。例如,您可以指定图像格式、页面大小、边距、背景颜色等。

PropertyDescription
compressionSets Tagged Image File Format (TIFF) Compression. By default, this property is LZW.
cssGets a CssOptions object which is used for configuration of CSS properties processing.
formatSets the ImageFormat (JPG, PNG, BMP, TIFF, or GIF). By default, this property is PNG.
background_colorThis property sets the color that will fill the background. By default, this property is transparent.
page_setupThis property allows you to define the layout of the page, including dimensions and margins.
horizontal_resolutionSets 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_resolutionSets 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_modeThis property sets the rendering quality for this image.
textGets a TextOptions object which is used for configuration of text rendering.

注意:使用 ImageSaveOptions 类实现的选项继承自 ImageRenderingOptions 类。

使用render_to()方法

考虑如何使用 render_to() 方法将文档从 SVG 转换为 JPG:

以下示例显示如何应用page_setuphorizo​​ntal_resolutionvertical_resolution属性将 SVG 转换为 JPG:

 1import os
 2from aspose.svg import *
 3from aspose.svg.drawing.skiasharp import *
 4from aspose.svg.rendering import *
 5from aspose.svg.drawing import *
 6from aspose.svg.rendering.image import *
 7
 8# Initialize an SVG document from a file
 9input_folder = "data/"
10output_folder = "output/"
11src_file = os.path.join(input_folder, "image.svg")
12output_file = os.path.join(output_folder, "image.jpg")
13if not os.path.exists(output_folder):
14    os.makedirs(output_folder)
15
16with SVGDocument(src_file) as document:
17    # Initialize an instance of the ImageRenderingOptions class and set custom properties
18    image_rendering_options = ImageRenderingOptions()
19    image_rendering_options.format = ImageFormat.JPEG
20    image_rendering_options.horizontal_resolution = Resolution.from_dots_per_inch(96.0)
21    image_rendering_options.vertical_resolution = Resolution.from_dots_per_inch(96.0)
22    image_rendering_options.page_setup.any_page = Page(Size(600, 600), Margin(10, 10, 10, 10))
23
24    # Initialize an instance of the ImageDevice class
25    with ImageDevice(image_rendering_options, output_file) as device:
26        # Render SVG to JPG and send the document to the rendering device
27        document.render_to(device)

您可以使用上述 Python 代码将 SVG 转换为 PNG、JPG、JPEG、BMP、TIFF、GIF 和 WEBP 等图像格式。要更改输出图像格式,您需要在输出文件名中指定所需的扩展名(格式)并设置format属性。

例如,要将 SVG 转换为 BMP,只需设置 format 属性:

image_rendering_options.format = ImageFormat.BMP,

并在输出图像文件名中设置扩展名.bmp

output_file = os.path.join(output_folder, "image.bmp")

图像渲染选项 – ImageRenderingOptions 类

Aspose.SVG for Python via .NET 中的 ImageRenderingOptions 类提供了一组选项来控制如何将 SVG 文档渲染为图像格式。 ImageRenderingOptions 类与特定设备 ImageDevice 结合使用,它表示渲染的 SVG 内容的目标输出图像格式。

此类允许您微调渲染过程以满足特定要求。以下是与 ImageRenderingOptions 类关联的关键属性:

PropertyDescription
compressionSets Tagged Image File Format (TIFF) Compression. By default, this property is LZW.
cssThis property gets a CssOptions object, which is used for the configuration of CSS properties processing.
formatSets the ImageFormat (JPG, PNG, BMP, TIFF, or GIF). By default, this property is PNG.
background_colorThis property allows you to set the background color for the rendered output. If not set, the default background is transparent.
page_setupThis property allows you to define the layout of the page, including dimensions and margins.
horizontal_resolutionSets 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_resolutionSets 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_modeThis property sets the rendering quality for this image.
textGets a TextOptions object which is used for configuration of text rendering.

您可以尝试我们的免费在线 SVG 到 JPG 转换器,它的工作质量高,简单且快速。只需上传 SVG、进行转换,几秒钟内即可获得结果!它快速、简单且完全免费!

文本“SVG 到 JPG 转换器”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.