Конвертировать 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 из кода.
- Подготовьте код для документа SVG.
- Создайте новый объект ImageSaveOptions. По умолчанию свойство формата – PNG. Если вы не зададите конкретные параметры сохранения полученного изображения, будут использованы параметры по умолчанию.
- Используйте метод
convert_svg(
content, base_uri, options, output_path
) класса Converter.
1import os
2from aspose.html.converters import *
3from aspose.html.saving import *
4
5# Setup directories and define paths
6output_dir = "output/"
7if not os.path.exists(output_dir):
8 os.makedirs(output_dir)
9save_path = os.path.join(output_dir, "circle.png")
10
11# Prepare SVG code
12svg_code = """<svg xmlns="http://www.w3.org/2000/svg">
13<circle cx="100" cy="100" r="60" fill="teal" stroke="salmon" stroke-width="10" />
14</svg>"""
15
16# Initialize ImageSaveOptions
17options = ImageSaveOptions()
18
19# Convert SVG to PNG
20Converter.convert_svg(svg_code, ".", options, save_path)
Конвертируйте SVG в PNG с помощью ImageSaveOptions
Функциональность создания изображений PNG можно расширить с помощью параметров сохранения в соответствии с вашими потребностями. Класс ImageSaveOptions предлагает широкие возможности настройки для преобразования содержимого SVG в форматы изображений. Вот описание каждого свойства ImageSaveOptions:
- page_setup – вы можете настроить параметры макета страницы для выходного изображения. Сюда входит указание размера страницы и полей (сверху, снизу, слева, справа) для управления размещением и отображением HTML-содержимого внутри изображения.
- horizontal_resolution – это свойство устанавливает или получает горизонтальное разрешение (в пикселях на дюйм) как для выходных, так и для внутренних изображений, используемых во время обработки. Более высокое разрешение обычно приводит к более четкому изображению, но также может увеличить размер файла. По умолчанию это 300 dpi.
- vertical_resolution – это свойство устанавливает или получает вертикальное разрешение для изображений в пикселях на дюйм. По умолчанию это 300 dpi.
- background_color – это свойство позволяет вам установить цвет фона для отображаемого вывода. Если не установлено, фон по умолчанию является прозрачным.
- css – это свойство, представленное CssOptions, позволяет настроить обработку свойств CSS во время преобразования HTML в изображение.
- format – это свойство определяет формат выходного изображения. Поддерживаемые форматы включают распространенные форматы изображений, такие как PNG, JPEG, BMP, GIF и TIFF. Формат по умолчанию – PNG, но вы можете указать другие в зависимости от ваших требований.
- smoothing_mode – это свойство контролирует качество рендеринга графики во время преобразования. Оно влияет на то, как визуализируются изображения, что особенно полезно для сглаживания и достижения плавного и визуально привлекательного вывода. Параметры обычно включают настройки для высококачественного рендеринга, что может иметь решающее значение для изображений профессионального и презентационного уровня.
- compression – опция сжатия позволяет установить метод сжатия для вывода в формате TIFF. Поддерживаемые варианты: LZW, CCITT3, CCITT4, RLE и NONE. Сжатие помогает уменьшить размер файла при сохранении качества изображения, что особенно важно для файлов TIFF, используемых для высококачественного архивирования и печати изображений.
- text – это свойство предоставляет конфигурации для рендеринга текста во время преобразования HTML в изображение.
Чтобы преобразовать SVG в PNG с указанием ImageSaveOptions, вам необходимо выполнить несколько шагов:
- Загрузите файл SVG, используя один из конструкторов SVGDocument() класса SVGDocument ( tulips.svg).
- Создайте новый объект ImageSaveOptions и укажите параметры сохранения. По умолчанию свойство формата – PNG. Конструктор ImageSaveOptions() инициализирует экземпляр класса ImageSaveOptions, который передается методу Convert_svg(). Здесь вы можете установить необходимые параметры сохранения, такие как формат или разрешение.
- Используйте один из методов convert_svg(), чтобы сохранить SVG как изображение PNG. В этом примере метод Convert_svg() принимает документ, параметры и путь к выходному файлу save_path и выполняет операцию преобразования.
1import os
2from aspose.html.saving import *
3# from aspose.html.drawing import *
4from aspose.html.converters import *
5from aspose.html.dom.svg import *
6
7# Setup directories and define paths
8output_dir = "output/"
9input_dir = "data/"
10if not os.path.exists(output_dir):
11 os.makedirs(output_dir)
12
13document_path = os.path.join(input_dir, "tulips.svg")
14save_path = os.path.join(output_dir, "tulips.png")
15
16# Load an SVG document
17document = SVGDocument(document_path)
18
19# Настройки сохранения в PDF
20options = ImageSaveOptions()
21options.page_setup.first_page = Page(Size(500, 500), Margin(10, 10, 10, 10))
22options.css.media_type.PRINT
23
24# Convert SVG to PNG
25Converter.convert_svg(document, options, save_path)
В приведенном выше примере мы используем:
- свойство
page_setup
для установки параметров макета первой страницы выходного изображения; - свойство
css.media_type
для указания типа мультимедиа, который будет использоваться для CSS во время процесса рендеринга. В примере для него установлено значение PRINT, которое применяет правила CSS, специфичные для печати. Это может повлиять на окончательный вид выходного изображения при использовании стилей, определенных для печатных носителей.
На рисунке показано качество рендеринга SVG в PNG на примере фрагмента файла tulips.png
.
Как конвертировать SVG в изображения
Aspose.HTML for Python via .NET поддерживает преобразование SVG в изображения PNG, JPEG, BMP, TIFF и GIF. Чтобы установить формат выходного изображения, вам нужно всего лишь указать необходимое расширение (формат) в имени выходного файла и установить свойство format
для объекта параметров сохранения.
Например, чтобы конвертировать SVG в GIF, вам нужно:
- установить свойство формата:
options.format.GIF
; - и установить расширение
.gif
в имени файла выходного изображения:save_path = os.path.join(output_dir, "svg-to-image.gif")
.
Смотрите также
- Чтобы узнать больше о файлах SVG, посетите статью Что такое файл SVG? – Плюсы и минусы, XML-код.
- Загрузите библиотеку Aspose.HTML for Python via .NET, чтобы успешно, быстро и легко конвертировать документы HTML, MHTML, EPUB, SVG и Markdown в самые популярные форматы.
- Проверьте качество преобразования SVG в PNG с помощью нашего онлайн-конвертера SVG в PNG. Загрузите, конвертируйте файлы и получите результаты через несколько секунд. Попробуйте наш мощный конвертер SVG в PNG бесплатно прямо сейчас!