Da SVG a PNG

Converti SVG in PNG online | Salva SVG in PNG

Scalable Vector Graphics (SVG) definisce la grafica basata su vettori per il Web. SVG è un formato di immagine vettoriale basato su XML per grafica bidimensionale con supporto per interattività e animazione. Questo formato è popolare per il rendering di immagini bidimensionali su Internet, dove le immagini possono essere ridimensionate a qualsiasi dimensione. Ma, nel caso in cui avessimo la necessità di convertire SVG in PNG per una compressione senza perdita di dati, dove non perde dettagli e qualità, allora Aspose.Imaging Cloud è una soluzione praticabile.

Questo articolo fornisce dettagli su come convertire SVG in PNG online.

API di conversione delle immagini

Aspose.Imaging Cloud è la nostra soluzione di programmazione per i requisiti di elaborazione delle immagini. Puoi eseguire operazioni tra cui ridimensionamento, ritaglio, rotazione, ridimensionamento, capovolgimento, ricerca ed esportazione di immagini in vari formati supportati. Per facilitare ulteriormente i nostri utenti, abbiamo creato SDK specifici per il linguaggio di programmazione e, in base allo scopo di questo articolo, utilizzeremo Aspose.Imaging Cloud SDK per .NET. Ora visita il seguente collegamento per saperne di più su Come installare Aspose.Cloud SDK.

Convertire SVG in PNG in C#

Per convertire un’immagine SVG già disponibile nell’archiviazione Cloud in formato PNG, seguire le istruzioni riportate di seguito.

  • Il primo passo è creare un’istanza di ImagingApi passando i dettagli ClientID e ClientSecret come argomenti.
  • In secondo luogo, carica l’immagine SVG sullo storage Cloud utilizzando il metodo UploadFile(..) di ImagingApi.
  • In terzo luogo, creare un’istanza della classe ConvertImageRequest passando il nome dell’SVG di input e il formato risultante come argomenti.
  • Ora chiama il metodo ConvertImage(..) per eseguire l’operazione di conversione. Il PNG risultante viene restituito come istanza Stream.
  • Infine, chiama il metodo personalizzato utilizzando File.Create per salvare l’istanza di Stream come file su un’unità locale.
// Per esempi completi, visitare https://github.com/aspose-imaging-cloud/aspose-imaging-cloud-dotnet
// Ottieni le credenziali del cliente da https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";

// creare un oggetto di DiagramApi
ImagingApi imagingApi = new ImagingApi(clientSecret,clientID, "https://api.aspose.cloud/");

// nome del file SVG di input
String inputFileName = "trashloader2.svg";
// formato file risultante
String newFormat = "png";
// nome del file di output
String newFileName = "Converted.png";

try
{
    // carica il file dall'unità locale
    using (var inputStream = System.IO.File.OpenRead(@"C:\Users\shahbnay\Downloads\" + inputFileName))
    {
        // creare richiesta di caricamento file    
        UploadFileRequest request = new UploadFileRequest(inputFileName, inputStream);
        // carica il file sullo storage Cloud predefinito
        imagingApi.UploadFile(request);
                
        // creare un'istanza per la conversione delle immagini
        var response = new ConvertImageRequest(inputFileName,newFormat);
        // avviare l'operazione di conversione dell'immagine
        var responseStream = imagingApi.ConvertImage(response);
                
        // salva l'istanza del flusso come file nell'archiviazione locale
        saveToDisk(responseStream, @"C:\Users\shahbnay\Downloads\" + newFileName);
    }
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
        
static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}

Per vostra informazione, le immagini campione utilizzate nell’esempio precedente possono essere scaricate da trashloader2.svg e Converted.png.

Anteprima della conversione da SVG a PNG

Immagine 1: - Anteprima della conversione da SVG a PNG.

SVG in PNG utilizzando i comandi cURL

In questa sezione, eseguiremo la conversione di SVG in PNG utilizzando i comandi cURL. Il primo passaggio è generare un token di accesso JWT basato sulle credenziali del client. Eseguire il seguente comando per generarne uno:

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Ora esegui il seguente comando cURL per convertire SVG in PNG, dove il risultato viene restituito come flusso di risposta e può essere salvato su un’unità locale.

curl -X GET "https://api.aspose.cloud/v3.0/imaging/trashloader2.svg/convert?format=png" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o Converted.png

Nel caso in cui sia necessario convertire un’immagine SVG passata come contenuto multipart/form-data con indicizzazione zero o come flusso di dati raw.

curl -X POST "https://api.aspose.cloud/v3.0/imaging/convert?format=png" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: multipart/form-data" \
-d {"imageData":{}} \
-o Converted.png

Conclusione

Abbiamo discusso le capacità di conversione delle immagini di Aspose.Imaging Cloud API. L’attenzione specifica è stata sulla conversione di SVG in PNG utilizzando un frammento di codice C# .NET. Allo stesso tempo, abbiamo discusso i dettagli su come salvare SVG in PNG tramite i comandi cURL. Si noti che è possibile accedere all’API anche tramite l’interfaccia Swagger ed è possibile testare l’API all’interno del browser Web. Tuttavia, gli SDK Cloud sono sviluppati con una licenza MIT, quindi è possibile scaricare un codice sorgente completo da GitHub.

In caso di problemi durante l’utilizzo dell’API o di domande correlate, non esitate a contattarci tramite il forum di supporto prodotto gratuito.

Ti consigliamo di visitare i seguenti link per saperne di più: