Конвертировать SVG в PNG на Java
Каждый формат изображения имеет уникальные сильные и слабые стороны. SVG отлично подходит для создания графики, которую можно увеличивать или уменьшать без потери качества. Но иногда вам нужно преобразовать файлы SVG в другие форматы изображений, такие как PNG, JPG, BMP, TIFF или GIF. В целом, преобразования SVG могут быть полезны разработчикам и дизайнерам, которым приходится работать с разными форматами изображений для разных целей. Кроме того, знание того, как преобразовывать форматы, может помочь сделать вашу графику и изображения доступными и пригодными для использования более широкой аудиторией.
Библиотека Aspose.HTML для Java предоставляет широкий спектр преобразований SVG в изображения, такие как JPG, PNG, BMP, TIFF, и GIF. Преобразование SVG в любой поддерживаемый формат изображения выполняется с помощью тех же обязательных шагов:
- Открытие файла SVG.
- Создание объекта ImageSaveOptions и указание формата изображения.
- Преобразование 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 с параметрами сохранения по умолчанию:
- Загрузите файл SVG. Вы можете загрузить SVG из файла, кода SVG или URL-адреса. В следующем примере мы подготавливаем код SVG для создания SVG с нуля и передаем его непосредственно методу convertSVG().
- Используйте конструктор ImageSaveOptions() для создания нового объекта ImageSaveOptions. По умолчанию свойство Format имеет значение PNG.
- Вызовите метод 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, и т. д.
Method | Description |
---|---|
setCompression(value) | Sets the Tagged Image File Format (TIFF) Compression. By default this property is Compression.LZW . |
getCss | Gets 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 с настраиваемыми параметрами сохранения, следующий пример демонстрирует, насколько это просто:
- Загрузите файл SVG с помощью класса SVGDocument.
- Создайте новый объект
ImageSaveOptions и укажите необходимые параметры сохранения. В следующем примере мы применяем пользовательские разрешения и цвет фона для полученного изображения PNG:
- Используйте методы
setHorizontalResolution()
иsetVerticalResolution()
, чтобы установить горизонтальное и вертикальное разрешение изображения на 200. - Используйте метод
setBackgroundColor()
, чтобы установить цвет фона для каждой страницы. - Используйте метод
setSmoothingMode()
, чтобы установить высокое качество сглаживания изображения.
- Используйте методы
- Используйте метод
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 с высоким качеством, легко и быстро. Этот инструмент помогает создавать высококачественные изображения и графику, совместимые с широким спектром платформ и устройств. Так почему бы не попробовать? Просто загрузите, конвертируйте ваши файлы и получите результат за несколько секунд!