Η Joint Photographic Experts Group (JPG/JPEG) και τα Portable Network Graphics (PNG) είναι δύο δημοφιλείς μορφές εικόνας ράστερ που χρησιμοποιούνται στο διαδίκτυο. Σε αντίθεση με το JPEG, το οποίο βασίζεται στη συμπίεση DCT, το PNG χρησιμοποιεί συμπίεση LZW που είναι ίδια με αυτή που χρησιμοποιείται από τις μορφές GIF και TIFF. Το μεγαλύτερο πλεονέκτημα του PNG έναντι του JPEG είναι ότι η συμπίεση είναι χωρίς απώλειες, που σημαίνει ότι δεν υπάρχει απώλεια ποιότητας κάθε φορά που ανοίγεται και αποθηκεύεται ξανά. Το PNG χειρίζεται επίσης καλά λεπτομερείς εικόνες υψηλής αντίθεσης. Σε αυτό το άρθρο, θα συζητήσουμε τα βήματα σχετικά με τον τρόπο μετατροπής εικόνων JPG σε μορφή PNG χρησιμοποιώντας .NET REST API.
API επεξεργασίας εικόνας
Το Aspose.Imaging Cloud είναι ένα από τα κορυφαία προϊόντα μας για επεξεργασία μορφής εικόνας. Σας δίνει τη δυνατότητα να περικόψετε, να αναστρέψετε, να κλιμακώσετε, να περιστρέψετε, να αναζητήσετε, να μετατρέψετε και να εξαγάγετε υπάρχουσες μορφές εικόνας σε Υποστηριζόμενες μορφές αρχείων. Η αρχιτεκτονική REST επιτρέπει στους προγραμματιστές να εφαρμόσουν διάφορες δυνατότητες απεικόνισης στις λύσεις που βασίζονται σε σύννεφο. Προκειμένου να διευκολύνουμε περαιτέρω τους πελάτες μας, έχουμε αναπτύξει το Aspose.Imaging Cloud SDK για .NET στο επάνω μέρος του Aspose.Imaging REST API, ώστε να λαμβάνετε όλο τον προηγμένο χειρισμό εικόνας στις εφαρμογές σας C# .NET.
Εγκατάσταση
Για να χρησιμοποιήσουμε το SDK, πρέπει πρώτα να το εγκαταστήσουμε πάνω από το σύστημα. Είναι διαθέσιμο για λήψη μέσω NuGet και GitHub. Εκτελέστε την ακόλουθη εντολή στο τερματικό για να εγκαταστήσετε το SDK μέσω NuGet:
nuget install Aspose.Imaging-Cloud
Ή εκτελέστε την ακόλουθη εντολή στο NuGet Package Manager:
PM> Install-Package Aspose.Imaging-Cloud
Προσέγγιση Visual Studio
Μια άλλη προσέγγιση είναι η εγκατάσταση απευθείας μέσα στο Visual Studio:
- Ανοίξτε την Εξερεύνηση λύσεων.
- Αναπτύξτε το έργο και κάντε δεξί κλικ στο φάκελο Πακέτα στη λύση σας.
- Επιλέξτε Διαχείριση πακέτων NuGet…
- Κάντε κλικ στην καρτέλα Αναζήτηση και αναζητήστε “Aspose.Imaging-Cloud”.
- Κάντε κλικ στο πλαίσιο ελέγχου δίπλα στο πακέτο Aspose.Imaging-Cloud, επιλέξτε την κατάλληλη έκδοση στη δεξιά καρτέλα και κάντε κλικ στο κουμπί Προσθήκη πακέτου.
Aspose.Συνδρομή στο Cloud
Όλα τα API μας είναι προσβάσιμα μόνο σε εξουσιοδοτημένα άτομα, έτσι ώστε να διατηρούνται η ακεραιότητα και το απόρρητο των δεδομένων. Επιπλέον, τα αρχεία που είναι αποθηκευμένα στο χώρο αποθήκευσης cloud συσχετίζονται με τον λογαριασμό που είναι εγγεγραμμένος στο Aspose.Cloud dashboard. Επομένως, το πρώτο βήμα είναι να δημιουργήσετε έναν δωρεάν λογαριασμό συνδρομής μεταβαίνοντας στο Aspose.Cloud dashboard. Εάν έχετε λογαριασμό GitHub ή Google, απλώς Εγγραφείτε. Διαφορετικά, κάντε κλικ στο κουμπί Δημιουργία νέου λογαριασμού και δώστε τις απαιτούμενες πληροφορίες. Τώρα συνδεθείτε στον πίνακα εργαλείων χρησιμοποιώντας διαπιστευτήρια και αναπτύξτε την ενότητα Εφαρμογές από τον πίνακα εργαλείων και μετακινηθείτε προς τα κάτω προς την ενότητα Διαπιστευτήρια πελάτη για να δείτε στοιχεία Client ID και Client Secret.
JPG σε PNG σε C#
Ακολουθήστε τα βήματα που δίνονται παρακάτω για να πραγματοποιήσετε τη μετατροπή μορφής JPG σε PNG εντός της εφαρμογής C# .NET.
- Δημιουργήστε αντικείμενο ImagingApi ενώ μεταβιβάζετε στοιχεία Client ID και Client Secret ως ορίσματα
- Δεύτερον, διαβάστε την εικόνα JPEG από την τοπική μονάδα δίσκου και περάστε την ως όρισμα στο αντικείμενο UploadFileRequest
- Τρίτον, καλέστε τη μέθοδο UploadFile(…) του ImagingApi για να ανεβάσετε το αρχείο στο Cloud storage
- Τώρα δημιουργήστε μια παρουσία της κλάσης ConvertImageRequest που παίρνει το όνομα της εικόνας και τη μορφή εξόδου που προκύπτει ως ορίσματα
- Στη συνέχεια, καλέστε τη μέθοδο ConvertImage(…) της κλάσης ImagingApi για να ξεκινήσετε τη λειτουργία μετατροπής
- Τέλος, αποθηκεύστε την έξοδο από τη ροή στην τοπική μονάδα δίσκου χρησιμοποιώντας το File.Create (η προσαρμοσμένη μέθοδος κοινοποιείται παρακάτω).
// Λήψη ClientID από https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";
// δημιουργήστε μια παρουσία του ImagingApi
ImagingApi imagingApi= new ImagingApi( clientSecret,clientID,"https://api.aspose.cloud/");
// διαδρομή εισαγωγής εικόνας JPEG
string imageFile = "jpg-to-png.jpeg";
// μορφή αρχείου εξόδου
string format = "png";
// όνομα αρχείου που προκύπτει
string resultantFile = "converted.png";
// φορτώστε το αρχείο από την τοπική μονάδα δίσκου
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Desktop/" + imageFile))
{
var uploadFileRequest = new UploadFileRequest(imageFile, file);
// Μεταφορτώστε το πρωτότυπο έγγραφο στο Cloud Storage
imagingApi.UploadFile(uploadFileRequest);
}
try
{
// Δημιουργία ImageRequest
var request = new ConvertImageRequest(imageFile, format, null, null);
// εκκινήστε τη λειτουργία μετατροπής
Stream updatedImage = imagingApi.ConvertImage(request);
// μήνυμα επιτυχίας εκτύπωσης εάν η μετατροπή είναι επιτυχής
if (request != null && request.Equals("OK"))
{
Console.WriteLine("JPG successfully converted to PNG !");
Console.ReadKey();
}
// καλέστε τη μέθοδο για να αποθηκεύσετε την έξοδο στη μονάδα δίσκου συστήματος
saveToDisk(updatedImage, "/Users/nshahbaz/Desktop/"+resultantFile);
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
// προσαρμοσμένη μέθοδος αποθήκευσης αντικειμένου steam ως παράδειγμα αρχείου
public static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0, SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}
Εντολή cURL για μετατροπή JPEG σε PNG
Η αρχιτεκτονική REST των API Cloud μας δίνει τη δυνατότητα να έχουμε πρόσβαση σε αυτά ακόμη και μέσω τερματικών της γραμμής εντολών. Ωστόσο, λόγω περιορισμών ασφαλείας, πρέπει πρώτα να δημιουργήσετε ένα JSON Web Token (JWT) με βάση τα στοιχεία ClientID και ClientSecret που ανακτήθηκαν από το Aspose.Cloud dashboard. Εκτελέστε την ακόλουθη εντολή στο τερματικό για να δημιουργήσετε το διακριτικό 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"
Μόλις έχουμε το διακριτικό JWT, το επόμενο βήμα είναι να καλέσουμε το ConvertImage API για να εκτελέσουμε τη λειτουργία μετατροπής JPG σε 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
Αίτημα URL
https://api.aspose.cloud/v3.0/imaging/jpg-to-png.jpeg/convert?format=png
Σύναψη
Εξερευνήσαμε το Aspose.Imaging Cloud API για τη μετατροπή της εικόνας JPEG σε μορφή PNG. Μάθαμε τις διαδικασίες μετατροπής αρχείων με χρήση κώδικα C# .NET καθώς και τη μετατροπή χρησιμοποιώντας τις εντολές cURL. Λάβετε επίσης υπόψη ότι το Cloud SDK διανέμεται με άδεια MIT και ο πλήρης πηγαίος κώδικας του είναι διαθέσιμος για λήψη μέσω GitHub. Σε περίπτωση που αντιμετωπίσετε οποιοδήποτε πρόβλημα ή έχετε οποιοδήποτε ερώτημα κατά τη χρήση του API, μη διστάσετε να επικοινωνήσετε μέσω του Δωρεάν φόρουμ υποστήριξης προϊόντων.
Σχετικά άρθρα
Συνιστούμε επίσης να επισκεφθείτε τους παρακάτω συνδέσμους για να μάθετε περισσότερα