SVG (Scalable Vector Graphics) è un formato di immagine vettoriale basato su XML per la definizione di grafica bidimensionale con supporto per l’animazione. Queste immagini sono utilizzate principalmente sul web a causa dell’elevata densità di pixel. D’altra parte, le funzionalità avanzate migliorano anche le dimensioni delle immagini SVG rispetto all’immagine PNG che ha le stesse dimensioni. Tali differenze consentono agli sviluppatori di pensare a convertire le immagini da un formato all’altro. Questo articolo illustra come convertire i vettori SVG in immagini PNG in Java.
API Java per convertire immagini
GroupDocs.Conversion mostra il documento e l’API di conversione delle immagini per gli sviluppatori Java. Supporta un ampio elenco di formati di immagini per la conversione da un formato all’altro. Inoltre, i risultati della conversione possono anche essere personalizzati utilizzando le opzioni avanzate disponibili. Userò questa API, GroupDocs.Conversion for Java per convertire la grafica vettoriale SVG in formato immagine PNG.
Scarica o Configura
Puoi scaricare il file JAR dalla sezione download, o semplicemente ottenere il repository e le configurazioni delle dipendenze per pom.xml delle tue applicazioni Java basate su 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>
Converti l’immagine SVG in PNG in Java
Senza perdere tempo, iniziamo con la conversione di base con la configurazione di default. I seguenti passaggi mostrano come convertire il file di grafica vettoriale SVG in un’immagine PNG in Java.
- Carica la grafica PNG usando la classe Converter.
- Prepara le opzioni di conversione dell’immagine.
- Imposta il tipo di file di conversione come PNG.
- Chiama il metodo convert() per convertire il file SVG caricato in un’immagine PNG.
Il seguente codice sorgente Java converte l’SVG in un’immagine PNG.
// Come convertire il file SVG in formato PNG in Java usando le opzioni predefinite
Converter converter = new Converter("path/vector-graphics.svg");
ImageConvertOptions options = new ImageConvertOptions();
options.setFormat(ImageFileType.Png);
converter.convert("path/svg-to-png.png", options);
Immagine da SVG a PNG utilizzando le opzioni avanzate in Java
Molte opzioni di personalizzazione possono essere applicate all’output PNG durante la conversione da SVG per ottenere il risultato desiderato. Di seguito sono elencate alcune delle proprietà che possono essere modificate durante la conversione da SVG a PNG:
Opzione di personalizzazione | Metodo |
---|---|
Luminosità | setBrightness(int value) |
Contrast | setContrast(int value) |
Modalità Flip (orizzontale/verticale) | setFlipMode(ImageFlipModes value) |
Gamma | setGamma(float value) |
Scala di grigi | setGrayscale(boolean value) |
Altezza | setHeight(int value) |
Angoli di rotazione | setRotateAngle(int value) |
Filigrana | setWatermark(WatermarkTextOptions value) |
Width | setWidth(int value) |
I passaggi seguenti mostrano come applicare variazioni durante la conversione di un’immagine SVG in un’immagine PNG in Java.
- Carica la grafica SVG usando la classe Converter.
- Prepara le opzioni di conversione dell’immagine.
- Imposta il tipo di file di conversione come PNG.
- Impostare altre proprietà rilevanti utilizzando i rispettivi metodi setter e regolarne i valori di conseguenza.
- Converti in un’immagine PNG usando il metodo convert() con le opzioni preparate.
Puoi applicare uno qualsiasi di questi effetti o in combinazione per ottenere l’output PNG richiesto. Il codice sorgente seguente applica la personalizzazione all’immagine PNG durante la conversione da SVG a PNG in Java.
// Converti file SVG in formato PNG in Java utilizzando varie personalizzazioni
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
// Aggiungi filigrana a PNG quando convertito dal formato 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);
Ottieni una licenza API gratuita
Puoi ottenere una licenza temporanea gratuita per utilizzare l’API senza i limiti di valutazione.
Conclusione
Per riassumere, abbiamo imparato a convertire i file SVG in formato PNG all’interno delle applicazioni Java. Abbiamo inoltre imparato come ruotare, capovolgere o filigranare file PNG quando convertiti dal formato SVG. Inoltre, abbiamo discusso di come regolare le opzioni di luminosità, gamma e scala di grigi.
Puoi provare a creare la tua applicazione Java per la conversione di immagini. Puoi saperne di più sulle API dalla documentazione per l’automazione delle conversioni di documenti e immagini.
Il modo più semplice è provare gli esempi di GitHub. Contattaci per qualsiasi domanda tramite il forum.