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

Каждый формат изображения имеет уникальные сильные и слабые стороны. SVG отлично подходит для создания графики, которую можно увеличивать или уменьшать без потери качества. Но иногда вам нужно преобразовать файлы SVG в другие форматы изображений, такие как PNG, JPG, BMP, TIFF или GIF. В целом, преобразования SVG могут быть полезны разработчикам и дизайнерам, которым приходится работать с разными форматами изображений для разных целей. Кроме того, знание того, как преобразовывать форматы, может помочь сделать вашу графику и изображения доступными и пригодными для использования более широкой аудиторией.

Библиотека Aspose.HTML для Java предоставляет широкий спектр преобразований SVG в изображения, такие как JPG, PNG, BMP, TIFF, и GIF. Преобразование SVG в любой поддерживаемый формат изображения выполняется с помощью тех же обязательных шагов:

Единственное отличие заключается в указании формата выходного изображения с помощью класса ImageSaveOptions. Конструктор ImageSaveOptions(format) инициализирует объект параметров с указанием формата. Вы можете установить формат изображения JPG, PNG, BMP, GIF или TIFF. Формат изображения по умолчанию – PNG.

В этой статье вы узнаете, как преобразовать SVG в PNG с помощью Aspose.HTML для Java и как применить ImageSaveOptions и MemoryStreamProvider.. Вы можете легко использовать примеры Java для Преобразование SVG в PNG, подробно описанное здесь для преобразования изображений SVG в JPG, BMP, GIF и TIFF. Просто установите требуемый ImageFormat в ImageSaveOptions!

Конвертировать SVG в PNG одной строкой кода

Преобразовывая SVG в PNG, вы получаете растровое изображение, которым можно легко делиться, просматривать, отправлять по электронной почте и сжимать без потери качества. Статические методы класса Converter в основном используются как самый простой способ преобразования кода SVG в различные форматы. Вы можете преобразовать SVG в PNG в своем Java-приложении буквально одной строкой кода!

1  // Invoke the convertSVG() method for SVG to PNG conversion
2  com.aspose.html.converters.Converter.convertSVG(Path.combine(getDataDir(), "shapes.svg"), new ImageSaveOptions(), Path.combine(getOutputDir(), "convert-with-single-line.png"));

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

В следующем примере Java мы рассмотрим пошаговые инструкции по преобразованию SVG в PNG с параметрами сохранения по умолчанию:

  1. Загрузите файл SVG. Вы можете загрузить SVG из файла, кода SVG или URL-адреса. В следующем примере мы подготавливаем код SVG для создания SVG с нуля и передаем его непосредственно методу convertSVG().
  2. Используйте конструктор ImageSaveOptions() для создания нового объекта ImageSaveOptions. По умолчанию свойство Format имеет значение PNG.
  3. Вызовите метод convertSVG() класса Converter, чтобы сохранить SVG как изображение PNG. В примере мы используем метод convertSVG(content, baseUri, options, outputPath) класса Converter. который принимает четыре параметра: строку с кодом SVG для преобразования, базовую папку для входного файла SVG, экземпляр класса ImageSaveOptions и путь к выходному файлу, в котором будет сохранено преобразованное изображение.

В следующем фрагменте кода Java показано, как преобразовать SVG в PNG с помощью Aspose.HTML для Java.

 1  // Prepare SVG code 
 2  String code = StringExtensions.concat("<svg xmlns='http://www.w3.org/2000/svg'>", 
 3            "<circle cx ='100' cy ='100' r ='60' fill='none' stroke='red' stroke-width='10' />", 
 4            "</svg>");
 5
 6  // Prepare a path for converted file saving 
 7  String savePath = Path.combine(getOutputDir(), "circle.png");
 8
 9  // Initialize an ImageSaveOptions instance
10  ImageSaveOptions options = new ImageSaveOptions();
11
12  // Convert SVG to PNG
13  com.aspose.html.converters.Converter.convertSVG(code, ".", options, savePath);

Для получения дополнительной информации о том, как настроить процесс преобразования с помощью ImageSaveOptions, вы можете обратиться к статье Fine-Tuning Converters.

Вы можете скачать полные примеры и файлы данных по адресу GitHub.

Параметры сохранения

Класс ImageSaveOptions предоставляет методы, которые дают вам полный контроль над широким диапазоном параметров и улучшают процесс преобразования SVG. в форматы файлов изображений. Вы можете указать формат изображения, размер страницы, поля, уровень сжатия, тип мультимедиа CSS, и т. д.

MethodDescription
setCompression(value)Sets the Tagged Image File Format (TIFF) Compression. By default this property is Compression.LZW.
getCssGets a CssOptions object which is used for configuration of CSS properties processing.
setFormat(value)Sets ImageFormat (JPG, PNG, BMP, TIFF, or GIF). By default this property is ImageFormat.Png.
setBackgroundColor(value)Sets Color which will fill background of every page. Default value is Color.Transparent(Color.getTransparent()).
setPageSetup(value)Gets a page setup object is used for configuration output page-set.
setHorizontalResolution(value)Sets horizontal resolution for output images in pixels per inch. The default value is 300 dpi.
setVerticalResolution(value)Sets vertical resolution for output images in pixels per inch. The default value is 300 dpi.
setSmoothingMode(value)Sets the rendering quality for this image.
getText()Gets a TextOptions object which is used for configuration of text rendering.

Конвертировать SVG в PNG с использованием ImageSaveOptions

Если в вашем сценарии требуется рендеринг документа SVG, например, в файл формата PNG с настраиваемыми параметрами сохранения, следующий пример демонстрирует, насколько это просто:

  1. Загрузите файл SVG с помощью класса SVGDocument.
  2. Создайте новый объект ImageSaveOptions и укажите необходимые параметры сохранения. В следующем примере мы применяем пользовательские разрешения и цвет фона для полученного изображения PNG:
    • Используйте методы setHorizontalResolution() и setVerticalResolution(), чтобы установить горизонтальное и вертикальное разрешение изображения на 200.
    • Используйте метод setBackgroundColor(), чтобы установить цвет фона для каждой страницы.
    • Используйте метод setSmoothingMode(), чтобы установить высокое качество сглаживания изображения.
  3. Используйте метод convertSVG(document, options, savePath) класса Converter, чтобы сохранить SVG как PNG изображение. Вам необходимо передать SVGDocument, ImageSaveOptions и путь к выходному файлу для метода convertSVG() для выполнения преобразования.
 1  // Prepare a path to a source SVG file
 2  String documentPath = Path.combine(getDataDir(), "flower1.svg");
 3
 4  // Prepare a path for converted file saving 
 5  String savePath = Path.combine(getOutputDir(), "flower-options.png");
 6
 7  // Initialize an SVG document from the file
 8  SVGDocument document = new SVGDocument(documentPath);
 9  try {        }
10  finally { if (document != null) document.dispose(); }
11
12  // Initialize ImageSaveOptions. Set up the SmoothingMode, resolutions, and change the background color to AliceBlue 
13  ImageSaveOptions options = new ImageSaveOptions();
14  options.setHorizontalResolution(new Resolution(200, UnitType.AUTO));
15  options.setVerticalResolution(new Resolution(200, UnitType.AUTO));;
16  com.aspose.html.drawing.Color.getAliceBlue().CloneTo(options.getBackgroundColor());
17  options.setSmoothingMode(SmoothingMode.HighQuality);
18
19  // Convert SVG to PNG
20  com.aspose.html.converters.Converter.convertSVG(document, options, savePath);  

Aspose.HTML предлагает бесплатный онлайн конвертер SVG в PNG, который конвертирует SVG в PNG с высоким качеством, легко и быстро. Этот инструмент помогает создавать высококачественные изображения и графику, совместимые с широким спектром платформ и устройств. Так почему бы не попробовать? Просто загрузите, конвертируйте ваши файлы и получите результат за несколько секунд!

Text “Конвертер баннеров SVG в PNG”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.