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