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.

Converti SVG in PNG in Java (Scala di grigi, Ruota, Capovolgi, Luminoso, Filigrana)

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 pox.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.

Guarda anche