Convierta SVG a imagen, JPG, PNG, BMP, TIFF y GIF usando Python

En el artículo, encontrará información sobre cómo convertir SVG a formatos de archivo de imagen como JPG, PNG, BMP, TIFF y GIF. La conversión de archivos de imagen es necesaria para el desarrollo de sitios web, la actuación de diseñadores gráficos, la fotografía y otros fines. La elección del formato de la imagen depende de si la imprimes en poligrafía, la envías por correo electrónico o colocas una imagen en una página web.

El artículo proporciona una descripción general de las funciones de conversión de Aspose.SVG for Python via .NET y describe escenarios admitidos de conversiones de SVG a imágenes mediante el uso de las clases Converter y SVGDocument.

Para continuar siguiendo este tutorial, debe instalar y configurar la biblioteca Aspose.SVG for Python via .NET en su proyecto Python. Nuestros ejemplos de código lo ayudan a convertir archivos SVG usando la biblioteca Python.

Convertidor SVG en línea

Puede convertir SVG a imágenes y otros formatos populares de cualquier forma: en línea o mediante programación. ¡Compruebe la funcionalidad API Aspose.SVG y convierta SVG en tiempo real! Cargue SVG desde un sistema de archivos local o URL, seleccione el formato de salida y ejecute el ejemplo. En el ejemplo, las opciones de guardar están configuradas de forma predeterminada. Recibirá inmediatamente el resultado en un archivo separado.

                
            

Si desea convertir SVG a formatos de imagen mediante programación en Python, consulte los siguientes escenarios de conversión y ejemplos de código Python.

Convertir SVG a JPG

El formato JPG ofrece altas tasas de compresión con una mínima pérdida de calidad, lo que lo hace ideal para usar en la web donde el tamaño del archivo importa. Es ampliamente compatible con todos los dispositivos y plataformas, lo que garantiza la compatibilidad y la facilidad para compartir. Además, la capacidad de JPG para manejar variaciones de color complejas lo hace ideal para fotografías e imágenes realistas.

Usando el método convert_svg()

Usar los métodos convert_svg() es la forma más común de convertir SVG a varios formatos populares. Puede convertir SVG a JPG o a otro formato mediante programación con control total sobre una amplia gama de parámetros de conversión. El siguiente fragmento de código muestra cómo convertir SVG a JPG y especificar el color de fondo, el tamaño de página, los márgenes y las resoluciones vertical y horizontal. Además, el siguiente ejemplo de Python mostrará cómo configurar las rutas a los archivos de origen y de salida en su sistema de archivos:

 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)

Puede evaluar la calidad de la conversión probando nuestro producto. Aquí proporcionamos una ilustración: la siguiente figura muestra la imagen сhristmas-tree.svg original (a) y la imagen сhristmas-tree.jpg convertida con un nuevo color de fondo (b):

Texto “La imagen original de сhristmas-tree.svg y la imagen convertida de сhristmas-tree.jpg con un nuevo color de fondo”

Cómo convertir SVG a imagen

Aspose.SVG for Python via .NET admite la conversión de SVG a formatos de imagen como PNG, JPG, JPEG, BMP, TIFF, GIF y WEBP. Puedes usar el código Python anterior para esto; Para cambiar el formato de la imagen de salida, solo necesita especificar la extensión (formato) requerida en el nombre del archivo de salida y establecer la propiedad format.

Por ejemplo, para convertir SVG a GIF, necesita:

  1. para establecer la propiedad format: options.format.GIF,
  2. y establezca la extensión .gif en el nombre del archivo de imagen de salida: output_file = os.path.join(output_folder, "image.gif").

Opciones para guardar imágenes: clase ImageSaveOptions

Aspose.SVG permite convertir SVG a formatos de archivo de imagen utilizando opciones de guardado predeterminadas o personalizadas. El uso de ImageSaveOptions le permite personalizar el proceso de renderizado. Por ejemplo, puede especificar el formato de la imagen, el tamaño de la página, los márgenes, el color de fondo, etc.

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.

Nota: Las opciones que se implementan con la clase ImageSaveOptions heredan de la clase ImageRenderingOptions.

Usando el método render_to()

Considere cómo convertir un documento de SVG a JPG usando el método render_to():

El siguiente ejemplo muestra cómo aplicar las propiedades page_setup, horizontal_resolution y vertical_resolution para la conversión de SVG a 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)

Puede utilizar el código Python anterior para convertir SVG a formatos de imagen como PNG, JPG, JPEG, BMP, TIFF, GIF y WEBP. Para cambiar el formato de la imagen de salida, debe especificar la extensión (formato) requerida en el nombre del archivo de salida y establecer la propiedad format.

Por ejemplo, para convertir SVG a BMP, solo necesita configurar la propiedad format:

image_rendering_options.format = ImageFormat.BMP,

y establezca la extensión .bmp en el nombre del archivo de imagen de salida:

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

Opciones de representación de imágenes: clase ImageRenderingOptions

La clase ImageRenderingOptions en Aspose.SVG for Python via .NET proporciona un conjunto de opciones para controlar cómo se representan los documentos SVG en formatos de imagen. La clase ImageRenderingOptions se usa junto con el dispositivo específico ImageDevice, que representa los formatos de imagen de salida de destino para el contenido SVG renderizado.

Esta clase le permite ajustar el proceso de renderizado para cumplir con requisitos específicos. Estas son las propiedades clave asociadas con la clase 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.

Puedes probar nuestro Convertidor SVG a JPG gratuito en línea que funciona con alta calidad, de forma fácil y rápida. ¡Simplemente cargue SVG, conviértalo y obtenga resultados en segundos! ¡Es rápido, fácil y completamente gratis!

Texto “Convertidor SVG a JPG”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.