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:
- Utilice el método set_extension() de la clase Configuración para registrar la extensión SkiaSharp. El módulo SkiaSharp es una biblioteca de gráficos que se utiliza para representar contenido SVG. Garantiza que el motor de renderizado admita las operaciones necesarias para la conversión.
- Cree una instancia de la clase
ImageSaveOptions y especifique las opciones de guardado requeridas:
- Utilice la propiedad
format
para establecer el formato de la imagen. - Utilice la propiedad
background_color
para establecer el color que llenará el fondo. - Utilice la propiedad
page_setup
para establecer el tamaño de la página y los márgenes. - Utilice las propiedades
horizontal_resolution
yvertical_resolution
para configurar las resoluciones horizontal y vertical de la imagen de salida.
- Utilice la propiedad
- Abra un documento SVG fuente usando la clase SVGDocument.
- Utilice el método convert_svg() para convertir y guardar SVG como un archivo de imagen.
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):
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:
- para establecer la propiedad
format
:options.format.GIF
, - 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.
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. |
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()
:
- Inicialice un documento SVG usando la clase SVGDocument().
- Cree una instancia de la clase
ImageRenderingOptions. Si necesita configurar el formato de imagen, las resoluciones horizontal y vertical, el tamaño de página y los márgenes:
- Utilice la propiedad
format
para establecer el formato de la imagen. - Utilice las propiedades
horizontal_resolution
yvertical_resolution
para configurar las resoluciones horizontal y vertical de la imagen de salida. - Utilice la propiedad
page_setup
para establecer el tamaño de la página y los márgenes.
- Utilice la propiedad
- Cree una nueva instancia de la clase ImageDevice.
- Convierte SVG a JPG usando el método
render_to(
device
) de la claseSVGDocument
.
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:
Property | Description |
---|---|
compression | Sets Tagged Image File Format (TIFF) Compression. By default, this property is LZW. |
css | This property gets a CssOptions object, which is used for the 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 allows you to set the background color for the rendered output. If not set, the default background 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. |
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!