φωτογραφία διπλό

Βρείτε διπλότυπες εικόνες χρησιμοποιώντας το Java Cloud SDK

Η εικόνα JPG είναι μια δημοφιλής μορφή για σκοπούς εκτύπωσης και επεξεργασίας. Επιπλέον, είναι μια δημοφιλής μορφή εικόνας για κοινή χρήση φωτογραφιών και άλλων εικόνων στο Διαδίκτυο και μεταξύ χρηστών κινητών και υπολογιστών. Το μικρό μέγεθος αρχείου των εικόνων JPG επιτρέπει την αποθήκευση χιλιάδων εικόνων σε μικρό χώρο μνήμης. Τώρα, καθώς η συμπίεση έχει απώλειες, σημαίνει ότι ορισμένες περιττές πληροφορίες διαγράφονται οριστικά. Από την άλλη πλευρά, το μεγαλύτερο πλεονέκτημα του PNG έναντι του JPEG είναι ότι η συμπίεση είναι χωρίς απώλειες, που σημαίνει ότι δεν υπάρχει απώλεια ποιότητας κάθε φορά που ανοίγει και αποθηκεύεται ξανά. Το PNG χειρίζεται επίσης καλά λεπτομερείς εικόνες υψηλής αντίθεσης. Τώρα σε αυτό το άρθρο, θα συζητήσουμε τις λεπτομέρειες σχετικά με τον τρόπο μετατροπής JPG σε PNG χρησιμοποιώντας Java Cloud SDK

API μετατροπής εικόνας

Το API που βασίζεται στο REST προσφέρει τις δυνατότητες δημιουργίας, επεξεργασίας και μετατροπής αρχείων εικόνας σε διάφορες υποστηριζόμενες μορφές αρχείων. Τώρα, για να εφαρμόσουμε τη δυνατότητα φόρτωσης και μετατροπής jpg σε png διαφανή στην εφαρμογή Java, πρέπει να χρησιμοποιήσουμε το Aspose.Imaging Cloud SDK for Java καθώς είναι ένα περιτύλιγμα γύρω από το Cloud API. Έτσι, το επόμενο βήμα είναι να προσθέσετε την αναφορά του στο έργο java συμπεριλαμβάνοντας τις ακόλουθες πληροφορίες στο pom.xml του έργου τύπου κατασκευής maven.

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-imaging-cloud</artifactId>
        <version>22.4</version>
    </dependency>
</dependencies>

Μόλις προστεθεί η αναφορά JDK στο έργο, το επόμενο σημαντικό βήμα είναι να δημιουργήσετε έναν δωρεάν λογαριασμό μέσω του Aspose Cloud Dashboard. Απλώς εγγραφείτε για δωρεάν δοκιμή μέσω μιας έγκυρης διεύθυνσης email. Τώρα συνδεθείτε χρησιμοποιώντας νέο λογαριασμό και αναζητήστε/δημιουργήστε Client ID και Client Secret στο Cloud Dashboard. Αυτές οι λεπτομέρειες απαιτούνται για σκοπούς ελέγχου ταυτότητας στις ακόλουθες ενότητες.

Μετατροπή JPG σε PNG σε Java

Τώρα ας συζητήσουμε τις λεπτομέρειες σχετικά με το πώς μπορούμε να μετατρέψουμε JPG σε PNG χρησιμοποιώντας απόσπασμα κώδικα Java. Για να πραγματοποιήσουμε τη μετατροπή, έχουμε δύο API για τη μετατροπή μιας εικόνας σε άλλη μορφή:

Το GET API αναμένει από εμάς να ανεβάσουμε πρώτα μια εικόνα στο Cloud Storage και μετά να περάσουμε το όνομά της στη διεύθυνση URL του API. Μετά την ενημέρωση των παραμέτρων εικόνας, το API επιστρέφει την ενημερωμένη εικόνα στην απόκριση. Εάν θέλετε να αποθηκεύσετε την ενημερωμένη εικόνα στο Cloud Storage, πρέπει να το κάνετε ρητά όπως φαίνεται στα παρακάτω παραδείγματα.

Από την άλλη πλευρά, όταν καλείτε το δεύτερο POST API, μπορείτε να περάσετε απευθείας την εικόνα στο σώμα του αιτήματος. Σας επιτρέπει επίσης να αποθηκεύσετε την ενημερωμένη εικόνα στο Cloud Storage καθορίζοντας την τιμή της παραμέτρου outPath. Ωστόσο, εάν δεν καθορίσετε την τιμή, η απάντηση περιέχει μια εικόνα με ροή.

  • Δημιουργήστε μια παρουσία του ImagingApi με βάση τα εξατομικευμένα διαπιστευτήρια πελάτη σας
  • Διαβάστε όλα τα αρχεία JPG από τον τοπικό φάκελο χρησιμοποιώντας το αντικείμενο File[]
  • Επαναλάβετε μέσα από αρχεία σε πίνακα και προσεγγίστε περιεχόμενο μεμονωμένης εικόνας σε παράδειγμα byte[]
  • Τώρα δημιουργήστε ένα αντικείμενο του CreateConvertedImageRequest όπου καθορίζουμε τη μορφή εικόνας εξόδου ως PNG
  • Καλέστε τη μέθοδο createConvertedImage(…) που αποθηκεύει το JPG ως PNG και επιστρέφει το αποτέλεσμα ως ροή απόκρισης
  • Τέλος αποθηκεύστε το αρχείο PNG στην τοπική μονάδα δίσκου χρησιμοποιώντας το αντικείμενο FileOutputStream
// Λάβετε ClientID και ClientSecret από https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// δημιουργία αντικειμένου απεικόνισης
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

File directory = new File("/Users/");
//Λάβετε όλα τα αρχεία από το φάκελο
File[] allFiles = directory.listFiles();
if (allFiles == null || allFiles.length == 0) {
    throw new RuntimeException("No files present in the directory: " + directory.getAbsolutePath());
}

//Ορίστε τις απαιτούμενες επεκτάσεις εικόνας εδώ.
List<String> supportedImageExtensions = Arrays.asList("jpg","jpeg");

int counter =0;
//Φιλτραρισμένη λίστα αρχείων εικόνας JPG
List<File> acceptedImages = new ArrayList<>();

// Επανάληψη σε κάθε αρχείο εικόνας που διαβάζεται από τον τοπικό φάκελο			 
for (File file : allFiles) {
    //Αναλύστε την επέκταση αρχείου
    String fileExtension = file.getName().substring(file.getName().lastIndexOf(".") + 1);
	
    //Ελέγξτε εάν η επέκταση παρατίθεται στις υποστηριζόμενες ΕπεκτάσειςImage
    if (supportedImageExtensions.stream().anyMatch(fileExtension::equalsIgnoreCase)) {
	//Προσθέστε την εικόνα στη φιλτραρισμένη λίστα
	acceptedImages.add(file);
                  
    // ανάγνωση περιεχομένου εικόνας JPG
    byte[] bytes = Files.readAllBytes(acceptedImages.get(counter).toPath());
    
    // δημιουργήστε αίτημα μετατροπής εικόνας με προκύπτουσα μορφή ως PNG
    CreateConvertedImageRequest request = new CreateConvertedImageRequest(bytes, "PNG", null, null);
    
    // μετατρέψτε το JPG σε PNG και επιστρέψτε το αρχείο που προκύπτει σε ροή απόκρισης
    byte[] exportedImage = imageApi.createConvertedImage(request);
    
    // Αποθηκεύστε την εξαγόμενη εικόνα στον τοπικό χώρο αποθήκευσης
    FileOutputStream fos = new FileOutputStream(directory + "/"+file.getName().replaceFirst("[.][^.]+$", "")+".png");
    fos.write(exportedImage);
    fos.close();
    }
}

Αλλάξτε το JPG σε PNG χρησιμοποιώντας εντολές cURL

Καθώς μπορούμε να έχουμε πρόσβαση στα API REST χρησιμοποιώντας εντολές cURL, έτσι σε αυτήν την ενότητα, διερευνούμε τις λεπτομέρειες για τη μετατροπή JPG σε PNG διαφανές. Τώρα ως προαπαιτούμενο, πρέπει πρώτα να δημιουργήσουμε ένα διακριτικό πρόσβασης JWT (με βάση τα διαπιστευτήρια πελάτη) ενώ εκτελούμε την ακόλουθη εντολή.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Τώρα θα χρησιμοποιήσουμε την κλήση ConvertImage API, αναμένει ότι η είσοδος JPG θα είναι ήδη διαθέσιμη στο χώρο αποθήκευσης cloud. Τώρα εκτελέστε την ακόλουθη εντολή για να αλλάξετε το JPG σε PNG.

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

συμπέρασμα

Αυτό το άρθρο παρέχει μερικές εκπληκτικές λεπτομέρειες για το πώς μπορούμε να μετατρέψουμε JPG σε PNG χρησιμοποιώντας απόσπασμα κώδικα Java. Ομοίως, έχουμε επίσης συζητήσει τα βήματα για τη μετατροπή JPG σε PNG διαφανές χρησιμοποιώντας εντολές cURL. Λάβετε υπόψη ότι η Τεκμηρίωση προϊόντος είναι ένα καταπληκτικό μέρος για να μάθετε για άλλες συναρπαστικές λειτουργίες που προσφέρονται από το API. Σε περίπτωση που χρειαστεί να δοκιμάσετε αυτά τα API στο πρόγραμμα περιήγησης, δοκιμάστε να χρησιμοποιήσετε το swagger API Reference.

Προτελευταίο, σημειώστε ότι όλα τα Cloud SDK μας δημοσιεύονται υπό την άδεια MIT, επομένως μπορείτε να εξετάσετε το ενδεχόμενο λήψης του πλήρους πηγαίου κώδικα από το GitHub και να τον τροποποιήσετε σύμφωνα με τις απαιτήσεις σας. Τέλος, εάν αντιμετωπίσετε προβλήματα κατά τη χρήση του API, μπορείτε να εξετάσετε το ενδεχόμενο να μας προσεγγίσετε για γρήγορη επίλυση μέσω του δωρεάν φόρουμ υποστήριξης προϊόντων.

Σχετικά Άρθρα

Επισκεφτείτε τους παρακάτω συνδέσμους για να μάθετε περισσότερα σχετικά με: