SVG (Scalable Vector Graphics) — це формат векторних зображень на основі XML для визначення двовимірної графіки з підтримкою анімації. Ці зображення в основному використовуються в Інтернеті через високу щільність пікселів. З іншого боку, багаті функції також збільшують розмір зображень SVG порівняно з зображенням PNG такого ж розміру. Такі відмінності дозволяють розробникам думати про конвертацію зображень з одного формату в інший. У цій статті обговорюється, як конвертувати вектори SVG у зображення PNG у Java.

Перетворення SVG на PNG у Java (відтінки сірого, поворот, перевертання, яскравість, водяний знак)

Java API для перетворення зображень

GroupDocs.Conversion демонструє документи та API перетворення зображень для розробників Java. Він підтримує великий список форматів зображень для перетворення з одного формату в інший. Крім того, результати перетворення також можна налаштувати за допомогою доступних розширених параметрів. Я використовуватиму цей API GroupDocs.Conversion for Java для перетворення векторної графіки SVG у формат зображення PNG.

Завантажити або налаштувати

Ви можете завантажити файл JAR із розділу завантажень або просто отримати репозиторій і конфігурації залежностей для pom.xml ваших програм Java на основі Maven.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-conversion</artifactId>
        <version>22.3</version> 
</dependency>

Перетворення SVG на зображення PNG у Java

Не втрачаючи часу, давайте почнемо з основного перетворення з конфігурацією за замовчуванням. Наступні кроки показують, як перетворити файл векторної графіки SVG на зображення PNG у Java.

  • Завантажте графіку PNG за допомогою класу Converter.
  • Підготуйте параметри перетворення зображення.
  • Встановіть тип файлу конвертації як PNG.
  • Викличте метод convert(), щоб завантажений файл SVG перетворився на зображення PNG.

Наступний вихідний код Java перетворює SVG на зображення PNG.

// Як конвертувати файл SVG у формат PNG у Java за допомогою стандартних параметрів
Converter converter = new Converter("path/vector-graphics.svg");

ImageConvertOptions options = new ImageConvertOptions();
options.setFormat(ImageFileType.Png);

converter.convert("path/svg-to-png.png", options);

Зображення SVG у PNG за допомогою додаткових параметрів у Java

Багато параметрів налаштування можна застосувати до вихідних даних PNG під час конвертації з SVG, щоб отримати бажаний результат. Нижче наведено деякі властивості, які можна налаштувати під час перетворення SVG у PNG:

Варіант налаштування Метод
Яскравість setBrightness(int value)
Контраст setContrast(int value)
Режим перевертання (горизонтальний/вертикальний) setFlipMode(значення ImageFlipModes)
Gamma setGamma(float value)
Grayscale setGrayscale(логічне значення)
Висота setHeight(ціле значення)
Кути повороту setRotateAngle(ціле значення)
Водяний знак setWatermark(значення WatermarkTextOptions)
Width setWidth(int value)

Наступні кроки показують, як застосувати варіанти під час перетворення графіки SVG на зображення PNG у Java.

  • Завантажте графіку SVG за допомогою класу Converter.
  • Підготуйте параметри перетворення зображення.
  • Встановіть тип файлу конвертації як PNG.
  • Встановіть інші відповідні властивості за допомогою відповідних методів налаштування та відповідно налаштуйте їхні значення.
  • Перетворіть зображення у формат PNG за допомогою методу convert() із підготовленими параметрами.

Ви можете застосувати будь-який із цих ефектів або їх комбінацію, щоб отримати необхідний вихід у форматі PNG. Наступний вихідний код застосовує налаштування до зображення PNG під час перетворення SVG у PNG у Java.

// Перетворіть файл SVG у формат PNG у Java за допомогою різних налаштувань
Converter converter = new Converter("path/vector-graphics.svg");

ImageConvertOptions options = new ImageConvertOptions();
options.setFormat(ImageFileType.Png); // Set output format as PNG

options.setFlipMode(ImageFlipModes.FlipY); // Flip Vertically or Horizontally
options.setBrightness(50);  // Set Brightness
options.setContrast(50);    // Set Contrast
options.setGamma(0.5F);     // Set Gamma
options.setGrayscale(true);	// Set Grayscale
options.setRotateAngle(45);	// Set Rotation

// Додайте водяний знак до PNG під час перетворення з формату SVG
WatermarkTextOptions watermark = new WatermarkTextOptions("Watermark");
watermark.setColor(Color.BLUE);
watermark.setBackground(false);
watermark.setRotationAngle(-45);
watermark.setTop(50);
watermark.setLeft(50);
watermark.setTransparency(0.2);
watermark.setWidth(450);
watermark.setHeight(450);
options.setWatermark(watermark);

converter.convert("path/svg-to-png-customized.png", options);

Отримайте безкоштовну ліцензію API

Ви можете отримати безкоштовну тимчасову ліцензію, щоб використовувати API без оціночних обмежень.

Висновок

Підводячи підсумок, ми навчилися конвертувати файли SVG у формат PNG у програмах Java. Далі ми дізналися, як ми можемо обертати, перевертати або використовувати файли PNG із водяними знаками, коли їх конвертовано з формату SVG. Крім того, ми обговорили, як налаштувати параметри яскравості, гами та відтінків сірого.

Ви можете спробувати створити власну Java-програму для перетворення зображень. Ви можете дізнатися більше про API з документації для автоматизації перетворення документів і зображень.

Найпростіший спосіб – ознайомитися з прикладами з GitHub. Зв’яжіться з нами з будь-яким запитом через форум.

Дивись також