JPG naar PNG converteren

Joint Photographic Experts Group (JPG/JPEG) en Portable Network Graphics (PNG) zijn twee populaire rasterafbeeldingsformaten die op internet worden gebruikt. In tegenstelling tot JPEG, dat afhankelijk is van DCT-compressie, gebruikt PNG LZW-compressie, wat hetzelfde is als de GIF- en TIFF-formaten. Het grootste voordeel van PNG ten opzichte van JPEG is dat de compressie verliesloos is, wat betekent dat er geen kwaliteitsverlies optreedt telkens wanneer het wordt geopend en opnieuw wordt opgeslagen. PNG kan ook goed overweg met gedetailleerde, contrastrijke afbeeldingen. In dit artikel bespreken we de stappen voor het converteren van JPG-afbeeldingen naar PNG-formaat met behulp van .NET REST API.

API voor beeldverwerking

Aspose.Imaging Cloud is een van onze toonaangevende producten voor Image format processing. Hiermee kunt u bestaande image formats bijsnijden, omdraaien, schalen, roteren, zoeken, converteren en exporteren naar Supported File Formats. De REST-architectuur stelt ontwikkelaars in staat om diverse imaging-mogelijkheden te implementeren in hun cloud-based oplossingen. Om onze klanten verder te faciliteren, hebben we Aspose.Imaging Cloud SDK voor .NET ontwikkeld op de Aspose.Imaging REST API, zodat u alle geavanceerde imagemanipulatie binnen uw C# .NET-applicaties krijgt.

Installatie

Om de SDK te kunnen gebruiken, moeten we deze eerst op het systeem installeren. Deze is beschikbaar om te downloaden via NuGet en GitHub. Voer de volgende opdracht uit in de terminal om de SDK via NuGet te installeren:

nuget install Aspose.Imaging-Cloud

Of voer de volgende opdracht uit in NuGet Package Manager:

PM> Install-Package Aspose.Imaging-Cloud

Visual Studio-aanpak

Een andere aanpak is de installatie rechtstreeks in Visual Studio:

  1. Open de Solution Explorer.
  2. Vouw het project uit en klik met de rechtermuisknop op de map Pakketten in uw oplossing.
  3. Selecteer de optie NuGet-pakketten beheren…
  4. Klik op het tabblad Bladeren en zoek naar “Aspose.Imaging-Cloud“.
  5. Klik op het selectievakje naast Aspose.Imaging-Cloud-pakket, selecteer de juiste versie in het rechtertabblad en klik op de knop Pakket toevoegen.
Aspose.Imaging-wolk

Afbeelding 1: - Aspose.Imaging-Cloud als NuGet-pakket.

Aspose.Cloud-abonnement

Al onze API’s zijn alleen toegankelijk voor geautoriseerde personen, zodat de integriteit en privacy van de gegevens behouden blijven. Bovendien worden de bestanden die zijn opgeslagen in cloudopslag gekoppeld aan het account dat is geabonneerd via Aspose.Cloud dashboard. Daarom is de eerste stap om een gratis abonnementsaccount aan te maken door naar Aspose.Cloud dashboard te gaan. Als u een GitHub- of Google-account hebt, meldt u zich dan aan. Klik anders op de knop Maak een nieuw account en geef de vereiste informatie op. Meld u nu aan bij het dashboard met behulp van referenties en vouw het gedeelte Toepassingen uit op het dashboard en scrol omlaag naar het gedeelte Clientreferenties om de details van de Client-ID en Clientgeheim te zien.

Klantreferenties

Afbeelding 2: - Clientreferenties op het Aspose.Cloud-dashboard.

JPG naar PNG in C#

Volg de onderstaande stappen om de JPG-indeling om te zetten naar PNG binnen een C# .NET-toepassing.

  • Maak een ImagingApi-object terwijl u de details van de Client-ID en Client Secret als argumenten doorgeeft
  • Ten tweede, lees de JPEG-afbeelding van de lokale schijf en geef deze door als argument aan het UploadFileRequest-object
  • Ten derde, roep de UploadFile(…) methode van ImagingApi aan om het bestand naar de cloudopslag te uploaden
  • Maak nu een instantie van de ConvertImageRequest-klasse die de afbeeldingsnaam en het resulterende uitvoerformaat als argumenten gebruikt
  • Roep vervolgens de ConvertImage(…)-methode van de ImagingApi-klasse aan om de conversiebewerking te starten
  • Sla ten slotte de uitvoer van de stream op een lokale schijf op met behulp van File.Create (de aangepaste methode wordt hieronder beschreven).
// Haal ClientID op van https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// maak een instantie van ImagingApi
ImagingApi imagingApi= new ImagingApi( clientSecret,clientID,"https://api.aspose.cloud/");

// pad van invoer-JPEG-afbeelding
string imageFile = "jpg-to-png.jpeg";
 
// uitvoerbestand formaat
string format = "png";
 
// resulterende bestandsnaam
string resultantFile = "converted.png";

// laad het bestand van de lokale schijf
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Desktop/" + imageFile))
{
    var uploadFileRequest = new UploadFileRequest(imageFile, file);

    // Upload origineel document naar Cloudopslag
    imagingApi.UploadFile(uploadFileRequest);
}

try
{
    // ImageRequest aanmaken
    var request = new ConvertImageRequest(imageFile, format, null, null);
    
    // de conversiebewerking starten
    Stream updatedImage = imagingApi.ConvertImage(request);

    // Print succesbericht als de conversie succesvol is
    if (request != null && request.Equals("OK"))
    {
        Console.WriteLine("JPG successfully converted to PNG !");
        Console.ReadKey();
    }
    
    // roep de methode aan om de uitvoer op te slaan op het systeemstation
    saveToDisk(updatedImage, "/Users/nshahbaz/Desktop/"+resultantFile);
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}  

// aangepaste methode om stoomobject op te slaan als bestandsinstantie
public static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}

cURL-opdracht voor JPEG naar PNG-conversie

De REST-architectuur van Cloud API’s stelt ons in staat om ze zelfs via opdrachtregelterminals te benaderen. Maar vanwege beveiligingsbeperkingen moet u eerst een JSON Web Token (JWT) genereren op basis van ClientID- en ClientSecret-gegevens die zijn opgehaald uit Aspose.Cloud dashboard. Voer de volgende opdracht uit in de terminal om de JWT-token te genereren.

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"

Zodra we het JWT-token hebben, is de volgende stap het aanroepen van de ConvertImage API om de conversie van JPG naar PNG uit te voeren.

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

URL aanvragen

https://api.aspose.cloud/v3.0/imaging/jpg-to-png.jpeg/convert?format=png

Conclusie

We hebben Aspose.Imaging Cloud API onderzocht voor de conversie van JPEG-afbeeldingen naar PNG-indeling. We hebben de processen geleerd van het converteren van bestanden met behulp van C# .NET-code en de conversie met behulp van de cURL-opdrachten. Houd er ook rekening mee dat de Cloud SDK wordt gedistribueerd onder een MIT-licentie en dat de volledige broncode beschikbaar is om te downloaden via GitHub. Mocht u problemen ondervinden of vragen hebben tijdens het gebruik van de API, neem dan gerust contact op via het Free product support forum.

Gerelateerde artikelen

Wij raden u ook aan de volgende links te bezoeken om meer te weten te komen over