Οι εικόνες SVG είναι εμφανείς επειδή είναι κλιμακωτές και διατηρούν την ίδια ποιότητα, ανεξάρτητα από το μέγεθος ή την ανάλυση οθόνης. Μπορούν να σχεδιαστούν σε οποιαδήποτε ανάλυση και μπορούν να αυξήσουν/κάτω το μέγεθος τους, χωρίς να χαλάσουν την ποιότητα (ή να γίνουν pixelation). Όμως, δεδομένου ότι οι εικόνες SVG βασίζονται σε σημεία & μονοπάτια, επομένως αντί για pixel, δεν μπορούν να εμφανίσουν τόσες λεπτομέρειες όσο μια εικόνα ράστερ. Έτσι, αν μετατρέψουμε την εικόνα SVG σε PNG, αυτά τα ζητήματα μπορούν να επιλυθούν.
- API μετατροπής SVG σε PNG
- Μετατροπή SVG σε PNG σε Java
- Αποθηκεύστε το SVG ως PNG χρησιμοποιώντας εντολές cURL
API μετατροπής SVG σε PNG
Σε αυτό το άρθρο, θα χρησιμοποιήσουμε το Aspose.Imaging Cloud SDK for Java, το οποίο βασίζεται στο REST API που προσφέρει τις δυνατότητες επεξεργασίας μέσω προγραμματισμού, χειρισμού και μετατροπής ράστερ, μετα-αρχείων, photoshop σε διάφορες Υποστηριζόμενες Μορφές. Υποστηρίζει επίσης τη δυνατότητα μετατροπής SVG σε PNG online. Τώρα, για να ξεκινήσουμε με τη χρήση του SDK, πρέπει να προσθέσουμε την αναφορά του στο έργο Java, συμπεριλαμβάνοντας τις ακόλουθες πληροφορίες στο pom.xml (έργο τύπου Maven build).
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>https://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging-cloud</artifactId>
<version>22.4</version>
</dependency>
</dependencies>
Τώρα, για να χρησιμοποιήσουμε το API, χρειαζόμαστε τα εξατομικευμένα διαπιστευτήρια πελάτη μας. Μπορείτε να τα αποκτήσετε εύκολα εάν είστε ήδη εγγεγραμμένος στο Aspose Cloud Dashboard. Διαφορετικά, εγγράψτε έναν δωρεάν λογαριασμό μέσω μιας έγκυρης διεύθυνσης email και λάβετε τα διαπιστευτήρια πελάτη σας.
Μετατροπή SVG σε PNG σε Java
Το API επεξεργασίας εικόνας μας είναι ικανό να μετατρέπει το PNG σε SVG και το SVG σε PNG με ελάχιστες γραμμές κώδικα. Έτσι, σε αυτήν την ενότητα, θα συζητήσουμε όλες τις λεπτομέρειες για τη μετατροπή SVG σε PNG χρησιμοποιώντας Java.
- Πρώτα απ ‘όλα, δημιουργήστε ένα αντικείμενο της κλάσης ImagingApi όπου περνάμε τα διαπιστευτήρια πελάτη ως όρισμα
- Δεύτερον, διαβάστε το περιεχόμενο της εικόνας SVG χρησιμοποιώντας τη μέθοδο readAllBytes(…) και επιστρέψτε το στον πίνακα byte[]
- Στη συνέχεια, δημιουργήστε μια παρουσία του UploadFileRequest μεταβιβάζοντας το όνομα SVG και μεταφορτώστε το στο χώρο αποθήκευσης cloud χρησιμοποιώντας τη μέθοδο uploadFile(…)
- Τώρα δημιουργήστε ένα αντικείμενο του ConvertImageRequest, όπου μεταβιβάζουμε το όνομα εισόδου SNG και τη μορφή που προκύπτει ως “PNG”
- Καλέστε τη μέθοδο convertImage(…) για να ξεκινήσετε τη μετατροπή SVG σε 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);
// φόρτωση εικόνας SVG από το τοπικό σύστημα
File file1 = new File("File_Extension Icons.svg");
byte[] imageStream = Files.readAllBytes(file1.toPath());
// δημιουργία αντικειμένου αιτήματος μεταφόρτωσης αρχείου
UploadFileRequest uploadRequest = new UploadFileRequest("input.svg",imageStream,null);
// μεταφορτώστε την εικόνα SVG στο χώρο αποθήκευσης Cloud
imageApi.uploadFile(uploadRequest);
// καθορίστε τη μορφή εξόδου της εικόνας
String format = "PNG";
// Δημιουργία αντικειμένου αιτήματος μετατροπής εικόνας
ConvertImageRequest convertImage = new ConvertImageRequest("input.svg", format, null, null);
// μετατρέψτε το SVG σε PNG και επιστρέψτε εικόνα σε ροή απόκρισης
byte[] resultantImage = imageApi.convertImage(convertImage);
// Αποθήκευση εικόνας PNG στην τοπική αποθήκευση
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Converted.png");
fos.write(resultantImage);
fos.close();
Η εικόνα εισόδου SVG που χρησιμοποιείται στο παραπάνω παράδειγμα μπορεί να ληφθεί από το FileExtension Icons.svg.
Αποθηκεύστε το SVG ως PNG χρησιμοποιώντας εντολές cURL
Καθώς το Aspose.Imaging Cloud έχει αναπτυχθεί σύμφωνα με την αρχιτεκτονική REST, ώστε να είναι εύκολα προσβάσιμο μέσω εντολών cURL. Έτσι, σε αυτήν την ενότητα, θα αποθηκεύσουμε το SVG ως PNG χρησιμοποιώντας τις εντολές cURL. Τώρα, το πρώτο βήμα είναι να δημιουργήσετε ένα διακριτικό πρόσβασης 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"
Μόλις δημιουργηθεί το διακριτικό JWT, εκτελέστε την ακόλουθη εντολή για να αποθηκεύσετε το SVG ως εικόνα PNG.
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/input.svg/convert?format=PNG" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o Resultant.png
συμπέρασμα
Μέχρι το τέλος αυτού του άρθρου, μάθαμε τις λεπτομέρειες για το πώς μπορούμε να μετατρέψουμε το SVG σε PNG χρησιμοποιώντας Java. Ταυτόχρονα, έχουμε επίσης εξερευνήσει μια επιλογή μετατροπής SVG σε PNG χρησιμοποιώντας εντολές cURL. Επιπλέον, εάν θέλετε να αποκτήσετε τον πηγαίο κώδικα του SDK και να τον τροποποιήσετε σύμφωνα με τις απαιτήσεις σας, μπορείτε να τον λάβετε από το GitHub (τα Cloud SDK μας έχουν αναπτυχθεί με άδεια MIT). Λάβετε υπόψη ότι μια άλλη επιλογή για τη δοκιμή των εκπληκτικών δυνατοτήτων του API είναι μέσω του SwaggerUI εντός του προγράμματος περιήγησης ιστού.
Ωστόσο, το Product Documentation είναι ένα υπέροχο αποθετήριο άρθρων που εξηγεί άλλα συναρπαστικά χαρακτηριστικά του API. Τέλος, σε περίπτωση που αντιμετωπίσετε οποιοδήποτε πρόβλημα κατά τη χρήση του API, μπορείτε να εξετάσετε το ενδεχόμενο να μας προσεγγίσετε μέσω δωρεάν φόρουμ υποστήριξης προϊόντων.
Σχετικά Άρθρα
Συνιστούμε ανεπιφύλακτα να επισκεφτείτε τους παρακάτω συνδέσμους για να μάθετε περισσότερα σχετικά με: