Конвертировать SVG в изображения, JPG, PNG, BMP, TIFF и GIF с помощью Python
В этой статье вы найдете информацию о том, как конвертировать SVG в такие форматы файлов изображений, как JPG, PNG, BMP, TIFF и GIF. Преобразование файлов изображений необходимо для разработки веб-сайтов, работы графических дизайнеров, фотографии и других целей. Выбор формата изображения зависит от того, распечатаете ли вы его на полиграфии, отправите по электронной почте или разместите изображение на веб-странице.
В статье представлено общее описание функций преобразования Aspose.SVG for Python via .NET и описаны поддерживаемые сценарии преобразования SVG в изображения с использованием классов Converter и SVGDocument.
Чтобы продолжить следовать этому руководству, вам необходимо установить и настроить библиотеку Aspose.SVG for Python via .NET в вашем проекте Python. Наши примеры кода помогут вам конвертировать файлы SVG с помощью библиотеки Python.
Онлайн-конвертер SVG
Конвертировать SVG в изображения и другие популярные форматы можно любым способом – онлайн или программно. Проверьте функциональность Aspose.SVG API и конвертируйте SVG в режиме реального времени! Загрузите SVG из локальной файловой системы или URL-адреса, выберите выходной формат и запустите пример. В примере параметры сохранения установлены по умолчанию. Вы сразу получите результат в виде отдельного файла.
Если вы хотите программно конвертировать SVG в форматы изображений на Python, ознакомьтесь со следующими сценариями преобразования и примерами кода Python.
Конвертировать SVG в JPG
Формат JPG обеспечивает высокую степень сжатия с минимальной потерей качества, что делает его идеальным для использования в Интернете, где размер файла имеет значение. Он широко поддерживается на всех устройствах и платформах, обеспечивая совместимость и простоту совместного использования. Кроме того, способность JPG обрабатывать сложные цветовые вариации делает его идеальным для фотографий и реалистичных изображений.
Использование метода convert_svg()
Использование методов convert_svg() – наиболее распространенный способ конвертировать SVG в различные популярные форматы. Вы можете конвертировать SVG в JPG или в другой формат программно с полным контролем над широким диапазоном параметров преобразования. В следующем фрагменте кода показано, как преобразовать SVG в JPG и указать цвет фона, размер страницы, поля, а также вертикальное и горизонтальное разрешение. Кроме того, пример Python покажет, как настроить пути к исходным и выходным файлам в вашей файловой системе:
- Используйте метод
set_extension класса
Configuration
, чтобы зарегистрировать расширениеSkiaSharp
. МодульSkiaSharp
– это графическая библиотека, используемая для рендеринга содержимого SVG. Это гарантирует, что механизм рендеринга поддерживает операции, необходимые для преобразования. - Создайте экземпляр класса
ImageSaveOptions и укажите необходимые параметры сохранения:
- Используйте свойство
format
для установки формата изображения. - Используйте свойство
background_color
, чтобы установить цвет, которым будет заполняться фон. - Используйте свойство
page_setup
, чтобы установить размер страницы и поля. - Используйте свойства
horizontal_resolution
иvertical_resolution
для установки горизонтального и вертикального разрешения для выходного изображения.
- Используйте свойство
- Откройте исходный документ SVG, используя класс SVGDocument.
- Используйте метод convert_svg() для преобразования SVG в JPG.
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 (а) и преобразованное изображение сhristmas-tree.jpg с новым цветом фона (б):
Как конвертировать SVG в изображение
Aspose.SVG for Python via .NET поддерживает преобразование SVG в такие форматы изображений, как PNG, JPG, JPEG, BMP, TIFF, GIF и WEBP. Для этого вы можете использовать приведенный выше код Python; чтобы изменить формат выходного изображения, вам нужно всего лишь указать необходимое расширение (формат) в имени выходного файла и установить свойство format
.
Например, чтобы преобразовать SVG в GIF, вам нужно:
- установить свойство формата:
options.format.GIF
, - и установите расширение
.gif
в имени файла выходного изображения:output_file = os.path.join(output_folder, "image.gif")
.
Параметры сохранения изображения – класс 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.
Использование метода render_to()
Рассмотрим, как преобразовать документ из SVG в JPG с помощью метода render_to()
:
- Инициализируйте документ SVG, используя класс SVGDocument().
- Создайте экземпляр класса
ImageRenderingOptions. Если вам нужно установить формат изображения, горизонтальное и вертикальное разрешение, размер страницы и поля:
- Используйте свойство
format
для установки формата изображения. - Используйте свойства
horizontal_resolution
иvertical_resolution
для установки горизонтального и вертикального разрешения для выходного изображения. - Используйте свойство
page_setup
для установки размера страницы и полей.
- Используйте свойство
- Создайте новый экземпляр класса ImageDevice.
- Конвертируйте SVG в JPG с помощью метода
render_to(
device
) классаSVGDocument
.
В следующем примере показано, как применить свойства page_setup
, horizontal_resolution
и vertical_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. Чтобы изменить формат выходного изображения, вам необходимо указать необходимое расширение (формат) в имени выходного файла и установить свойство «формат».
Например, чтобы преобразовать SVG в BMP, вам нужно всего лишь установить свойство format:
image_rendering_options.format = ImageFormat.BMP
,
и установите расширение .bmp
в имени файла выходного изображения:
выходной_файл = os.path.join(выходная_папка, "image.bmp")
.
Параметры рендеринга изображения – класс ImageRenderingOptions
Класс ImageRenderingOptions в Aspose.SVG for Python via .NET предоставляет набор опций для управления тем, как документы SVG преобразуются в форматы изображений. Класс ImageRenderingOptions используется вместе с конкретным устройством ImageDevice, которое представляет целевые форматы выходных изображений для визуализированного содержимого SVG.
Этот класс позволяет вам точно настроить процесс рендеринга в соответствии с конкретными требованиями. Вот ключевые свойства, связанные с классом 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. |
Вы можете попробовать наш бесплатный онлайн-конвертер Конвертер SVG в JPG, который работает с высоким качеством, легко и быстро. Просто загрузите SVG, конвертируйте его и получите результаты за считанные секунды! Это быстро, легко и совершенно бесплатно!