Joint Photographic Experts Group (JPG/JPEG) e Portable Network Graphics (PNG) sono due formati di immagini raster popolari utilizzati su Internet. A differenza di JPEG, che si basa sulla compressione DCT, PNG utilizza la compressione LZW, la stessa utilizzata dai formati GIF e TIFF. Il vantaggio più grande di PNG rispetto a JPEG è che la compressione è lossless, il che significa che non c’è perdita di qualità ogni volta che viene aperto e salvato di nuovo. PNG gestisce bene anche immagini dettagliate e ad alto contrasto. In questo articolo, discuteremo i passaggi su come convertire le immagini JPG in formato PNG utilizzando .NET REST API.
API di elaborazione delle immagini
Aspose.Imaging Cloud è uno dei nostri prodotti leader per l’elaborazione del formato immagine. Ti consente di ritagliare, capovolgere, ridimensionare, ruotare, cercare, convertire ed esportare formati immagine esistenti in Formati file supportati. L’architettura REST consente agli sviluppatori di implementare diverse capacità di imaging nelle loro soluzioni basate su cloud. Per facilitare ulteriormente i nostri clienti, abbiamo sviluppato Aspose.Imaging Cloud SDK per .NET sulla parte superiore di Aspose.Imaging REST API in modo da ottenere tutte le manipolazioni avanzate delle immagini all’interno delle tue applicazioni C# .NET.
Installazione
Per utilizzare l’SDK, dobbiamo prima installarlo sul sistema. È disponibile per il download su NuGet e GitHub. Esegui il seguente comando nel terminale per installare l’SDK tramite NuGet:
nuget install Aspose.Imaging-Cloud
Oppure eseguire il seguente comando in NuGet Package Manager:
PM> Install-Package Aspose.Imaging-Cloud
Approccio di Visual Studio
Un altro approccio è l’installazione direttamente all’interno di Visual Studio:
- Aprire Esplora soluzioni.
- Espandi il progetto e fai clic con il pulsante destro del mouse sulla cartella Pacchetti nella soluzione.
- Seleziona l’opzione Gestisci pacchetti NuGet…
- Fare clic sulla scheda Sfoglia e cercare “Aspose.Imaging-Cloud“.
- Fare clic sulla casella di controllo accanto al pacchetto Aspose.Imaging-Cloud, selezionare la versione appropriata nella scheda a destra e fare clic sul pulsante Aggiungi pacchetto.
Abbonamento Aspose.Cloud
Tutte le nostre API sono accessibili solo a persone autorizzate, in modo da preservare l’integrità e la privacy dei dati. Inoltre, i file archiviati nell’archiviazione cloud sono associati all’account sottoscritto tramite Aspose.Cloud dashboard. Pertanto, il primo passo è creare un account di abbonamento gratuito visitando Aspose.Cloud dashboard. Se hai un account GitHub o Google, registrati semplicemente. Altrimenti, fai clic sul pulsante Crea un nuovo account e fornisci le informazioni richieste. Ora accedi alla dashboard utilizzando le credenziali ed espandi la sezione Applicazioni dalla dashboard e scorri verso il basso fino alla sezione Credenziali client per visualizzare i dettagli ID client e Segreto client.
Da JPG a PNG in C#
Seguire i passaggi indicati di seguito per eseguire la conversione del formato JPG in PNG nell’applicazione C# .NET.
- Crea un oggetto ImagingApi passando i dettagli di Client ID e Client Secret come argomenti
- In secondo luogo, leggere l’immagine JPEG dall’unità locale e passarla come argomento all’oggetto UploadFileRequest
- In terzo luogo, chiama il metodo UploadFile(…) di ImagingApi per caricare il file sullo storage Cloud
- Ora crea un’istanza della classe ConvertImageRequest che accetta il nome dell’immagine e il formato di output risultante come argomenti
- Quindi chiamare il metodo ConvertImage(…) della classe ImagingApi per avviare l’operazione di conversione
- Infine, salva l’output dal flusso sull’unità locale utilizzando File.Create (il metodo personalizzato è condiviso di seguito).
// Ottieni ClientID da https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";
// creare un'istanza di ImagingApi
ImagingApi imagingApi= new ImagingApi( clientSecret,clientID,"https://api.aspose.cloud/");
// percorso dell'immagine JPEG di input
string imageFile = "jpg-to-png.jpeg";
// formato file di output
string format = "png";
// nome file risultante
string resultantFile = "converted.png";
// carica il file dall'unità locale
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Desktop/" + imageFile))
{
var uploadFileRequest = new UploadFileRequest(imageFile, file);
// Carica il documento originale su Cloud Storage
imagingApi.UploadFile(uploadFileRequest);
}
try
{
// Crea richiesta immagine
var request = new ConvertImageRequest(imageFile, format, null, null);
// avviare l'operazione di conversione
Stream updatedImage = imagingApi.ConvertImage(request);
// stampa messaggio di successo se la conversione è riuscita
if (request != null && request.Equals("OK"))
{
Console.WriteLine("JPG successfully converted to PNG !");
Console.ReadKey();
}
// chiama il metodo per salvare l'output sull'unità di sistema
saveToDisk(updatedImage, "/Users/nshahbaz/Desktop/"+resultantFile);
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
// metodo personalizzato per salvare l'oggetto Steam come istanza di file
public static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0, SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}
Comando cURL per la conversione da JPEG a PNG
L’architettura REST delle API Cloud ci consente di accedervi anche tramite terminali a riga di comando. Tuttavia, a causa di restrizioni di sicurezza, è necessario prima generare un JSON Web Token (JWT) basato sui dettagli ClientID e ClientSecret recuperati da Aspose.Cloud dashboard. Eseguire il seguente comando nel terminale per generare il token JWT.
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"
Una volta ottenuto il token JWT, il passo successivo è chiamare l’API ConvertImage per eseguire l’operazione di conversione da JPG a PNG.
curl -X GET "https://api.aspose.cloud/v3.0/imaging/jpg-to-png.jpeg/convert?format=png" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o converted.png
Richiedi URL
https://api.aspose.cloud/v3.0/imaging/jpg-to-png.jpeg/convert?format=png
Conclusione
Abbiamo esplorato Aspose.Imaging Cloud API per la conversione di immagini JPEG in formato PNG. Abbiamo appreso i processi di conversione dei file utilizzando il codice C# .NET e la conversione utilizzando i comandi cURL. Si noti inoltre che Cloud SDK è distribuito con una licenza MIT e il suo codice sorgente completo è disponibile per il download su GitHub. In caso di problemi o domande durante l’utilizzo dell’API, non esitate a contattarci tramite il Forum di supporto prodotto gratuito.
Articoli correlati
Ti consigliamo inoltre di visitare i seguenti link per saperne di più su