Конвертировать SVG в PNG на Python

Формат файлов PNG поддерживает сжатие изображений без потерь, что делает его популярным среди пользователей. В отличие от SVG, векторного формата, который могут поддерживаться не всеми платформами и приложениями, PNG универсален и может легко использоваться в различных программах, на веб-сайтах и ​​устройствах. Кроме того, PNG поддерживает прозрачный фон, что делает его идеальным для веб-графики, логотипов и изображений. С помощью Aspose.HTML for Python via .NET вы можете программно конвертировать SVG в формат PNG с полным контролем над широким диапазоном параметров преобразования.

В этой статье вы найдете информацию о преобразовании SVG в PNG с помощью методов convert_svg() класса Converter и применения ImageSaveOptions. Кроме того, вы можете попробовать онлайн-конвертер SVG, чтобы протестировать функциональность Python API и конвертировать SVG на лету.

Онлайн-конвертер SVG

Вы можете конвертировать SVG в другие форматы в режиме реального времени. Загрузите SVG из локальной файловой системы или URL-адреса, выберите выходной формат и запустите пример. Параметры сохранения установлены по умолчанию. Вы сразу получите результат конвертации в виде отдельного файла.

                
            

Конвертировать SVG в PNG

Использование методов convert_svg() – наиболее распространенный способ конвертировать SVG в различные форматы. Для преобразования вы можете загрузить SVG из файла, URL-адреса или строки кода. В следующем примере мы создаем файл SVG из кода.

  1. Подготовьте код для документа SVG.
  2. Создайте новый объект ImageSaveOptions. По умолчанию свойство формата – PNG. Если вы не зададите конкретные параметры сохранения полученного изображения, будут использованы параметры по умолчанию.
  3. Используйте метод convert_svg(content, base_uri, options, output_path) класса Converter.
 1# Convert SVG to PNG in Python from code
 2
 3import os
 4import aspose.html.converters as conv
 5import aspose.html.saving as sav
 6
 7# Prepare the output path
 8output_dir = "output"
 9if not os.path.exists(output_dir):
10    os.makedirs(output_dir)
11save_path = os.path.join(output_dir, "circle.png")
12
13# Define the SVG code
14svg_code = """<svg xmlns="http://www.w3.org/2000/svg">
15<circle cx="100" cy="100" r="60" fill="teal" stroke="salmon" stroke-width="10" />
16</svg>"""
17
18# Configure PNG output
19options = sav.ImageSaveOptions()
20
21# Convert SVG to PNG
22conv.Converter.convert_svg(svg_code, ".", options, save_path)

Конвертируйте SVG в PNG с помощью ImageSaveOptions

Функциональность создания изображений PNG можно расширить с помощью параметров сохранения в соответствии с вашими потребностями. Класс ImageSaveOptions предлагает широкие возможности настройки для преобразования содержимого SVG в форматы изображений. Вот описание каждого свойства ImageSaveOptions:

Чтобы преобразовать SVG в PNG с указанием ImageSaveOptions, вам необходимо выполнить несколько шагов:

  1. Загрузите файл SVG, используя один из конструкторов SVGDocument() класса SVGDocument ( tulips.svg).
  2. Создайте новый объект ImageSaveOptions и укажите параметры сохранения. По умолчанию свойство формата – PNG. Конструктор ImageSaveOptions() инициализирует экземпляр класса ImageSaveOptions, который передается методу Convert_svg(). Здесь вы можете установить необходимые параметры сохранения, такие как формат или разрешение.
  3. Используйте один из методов convert_svg(), чтобы сохранить SVG как изображение PNG. В этом примере метод Convert_svg() принимает документ, параметры и путь к выходному файлу save_path и выполняет операцию преобразования.
 1# Convert SVG to PNG in Python with custom settings
 2
 3import os
 4import aspose.html.dom.svg as ahsvg
 5import aspose.html.converters as conv
 6import aspose.html.drawing as dr
 7import aspose.html.rendering as ren
 8import aspose.html.saving as sav
 9
10# Prepare input and output paths
11output_dir = "output"
12input_dir = "data/"
13if not os.path.exists(output_dir):
14    os.makedirs(output_dir)
15
16document_path = os.path.join(input_dir, "tulips.svg")
17save_path = os.path.join(output_dir, "tulips.png")
18
19# Load the SVG document
20with ahsvg.SVGDocument(document_path) as document:
21    # Configure PNG output
22    options = sav.ImageSaveOptions()
23    options.page_setup.first_page = dr.Page(dr.Size(500, 500), dr.Margin(10, 10, 10, 10))
24    options.css.media_type = ren.MediaType.PRINT
25
26    # Convert SVG to PNG
27    conv.Converter.convert_svg(document, options, save_path)

В приведенном выше примере мы используем:

На рисунке показано качество рендеринга SVG в PNG на примере фрагмента файла tulips.png.

Текст “tulips.png image”

Как конвертировать SVG в изображения

Aspose.HTML for Python via .NET поддерживает преобразование SVG в изображения PNG, JPEG, BMP, TIFF и GIF. Чтобы установить формат выходного изображения, вам нужно всего лишь указать необходимое расширение (формат) в имени выходного файла и установить свойство format для объекта параметров сохранения.

Например, чтобы конвертировать SVG в GIF, вам нужно:

Смотрите также

Текст «Конвертер SVG в PNG»