Ogni volta che è necessaria la trasparenza nelle immagini sul Web, PNG è uno dei formati che vengono in mente. L’immagine SVG è anche uno dei formati di immagine comunemente usati grazie alla sua scalabilità. Per la visualizzazione di piccole immagini statiche, loghi e per immagini con sfondi trasparenti, le immagini PNG sono spesso preferite. A causa della compatibilità o di qualsiasi altro motivo, è spesso necessario convertire la grafica vettoriale SVG in altri formati. Questo articolo illustra come convertire la grafica vettoriale SVG in immagini PNG usando C#.

Converti SVG in PNG usando C# (Scala di grigi, Ruota, Capovolgi, Filigrana luminosa)

API .NET per convertire immagini

GroupDocs consente agli sviluppatori con la sua API di conversione di convertire i formati di immagine in vari altri formati. L’immagine convertita può anche essere modificata durante il processo di conversione utilizzando diverse opzioni avanzate. In questo articolo, userò il suo GroupDocs.Conversion for .NET per convertire l’immagine vettoriale SVG in immagini PNG.

Puoi scaricare le DLL o il programma di installazione MSI dalla sezione download o installare l’API aggiungendo il suo pacchetto alla tua applicazione .NET tramite NuGet.

PM> Install-Package GroupDocs.Conversion

Esempi di esecuzione per le sue funzionalità sono disponibili anche su GitHub. Visita la sua documentazione e Riferimento API per indicazioni.

Converti l’immagine SVG in PNG usando C#

Iniziamo con la conversione della grafica vettoriale in formato PNG utilizzando le impostazioni predefinite. I passaggi seguenti mostrano come convertire l’immagine SVG in PNG usando C#.

  • Carica il file SVG usando la classe Converter.
  • Prepara le opzioni di conversione dell’immagine.
  • Imposta il tipo di file di conversione come PNG.
  • Richiama il metodo Convert() con le opzioni preparate.

Il codice sorgente C# seguente converte l’SVG in un’immagine PNG.

// Come convertire il file SVG in formato PNG in C# utilizzando l'API di conversione .NET con le opzioni predefinite
using (Converter converter = new Converter("path/vector-graphics.svg"))
{
    ImageConvertOptions options = new ImageConvertOptions
    {
        Format = ImageFileType.Png
    };
    converter.Convert("path/svg-to-png.png", options);
}

Immagine da SVG a PNG usando le opzioni avanzate usando C#

Varie personalizzazioni possono essere applicate all’output PNG durante la conversione della grafica vettoriale. Ecco alcune delle caratteristiche dell’immagine PNG che possiamo regolare:

  • Luminosità
  • Contrasto
  • Gamma
  • Scala di grigi
  • Modalità capovolgi (orizzontale/verticale)
  • Angoli di rotazione
  • Altezza
  • Larghezza
  • Filigrana

I passaggi seguenti mostrano come convertire un’immagine SVG in PNG e applicare ulteriori modifiche al file PNG risultante.

  • Carica la grafica SVG usando la classe Converter.
  • Prepara le opzioni di conversione dell’immagine.
  • Imposta il tipo di file di conversione come PNG.
  • Definire le personalizzazioni selettive e regolarne i valori.
  • Converti in un’immagine PNG usando il metodo Convert() con le opzioni preparate.

Il codice sorgente seguente applica la personalizzazione nella conversione da SVG a PNG usando C#. Puoi applicare uno qualsiasi di questi o la combinazione di effetti per l’output PNG desiderato.

// Converti file SVG in formato PNG in C# utilizzando varie personalizzazioni
using (Converter converter = new Converter("path/vector-graphics.svg"))
{
    ImageConvertOptions options = new ImageConvertOptions
    {
        Format = ImageFileType.Png,
        FlipMode = ImageFlipModes.FlipY,
        RotateAngle = 45, 
        Grayscale = true
        /*
        Brightness = 50,
        Contrast = 50,
        Gamma = 0.5F,
        */
    };
    // Applicazione della filigrana sull'immagine convertita
    WatermarkOptions watermark = new WatermarkTextOptions("Watermark")
    {
        Color = Color.Blue,
        Width = 150,
        Height = 150,
        Background = false,
        Top = 50,
        Left = 50,
        RotationAngle = -45,
        Transparency = 50,
    };
    options.Watermark = 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

Concludiamo. Abbiamo appreso le basi e la conversione poco avanzata della grafica vettoriale SVG in formato PNG utilizzando C# all’interno di applicazioni .NET. Abbiamo inoltre imparato come ruotare, capovolgere o aggiungere filigrana ai file SVG quando vengono convertiti in formato PNG. Inoltre, abbiamo imparato a mettere a punto la gamma e la luminosità e come attivare e disattivare le opzioni della scala di grigi.

Prova a eseguire esempi da GitHub che ti aiuteranno a creare il tuo convertitore da SVG a PNG simile a quello disponibile su groupdocs.app. Contattaci per qualsiasi domanda tramite il forum.

Guarda anche