SVG σε PNG

Μετατροπή SVG σε PNG Online | Αποθήκευση SVG σε PNG

Το Scalable Vector Graphics (SVG) ορίζει διανυσματικά γραφικά για το Web. Το SVG είναι μια μορφή διανυσματικής εικόνας βασισμένη σε XML για δισδιάστατα γραφικά με υποστήριξη για διαδραστικότητα και κινούμενα σχέδια. Αυτή η μορφή είναι δημοφιλής για την απόδοση δισδιάστατων εικόνων στο διαδίκτυο, όπου οι εικόνες μπορούν να κλιμακωθούν σε οποιοδήποτε μέγεθος. Όμως, σε περίπτωση που έχουμε την απαίτηση να μετατρέψουμε το SVG σε PNG για συμπίεση χωρίς απώλειες όπου δεν χάνει λεπτομέρεια και ποιότητα, τότε το Aspose.Imaging Cloud είναι μια βιώσιμη λύση.

Αυτό το άρθρο παρέχει λεπτομέρειες σχετικά με τον τρόπο μετατροπής SVG σε PNG στο διαδίκτυο.

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

Το Aspose.Imaging Cloud είναι η προγραμματιστική μας λύση στις απαιτήσεις επεξεργασίας εικόνας. Μπορείτε να εκτελέσετε λειτουργίες όπως αλλαγή μεγέθους, περικοπή, περιστροφή, κλιμάκωση, αναστροφή, αναζήτηση και εξαγωγή εικόνων σε διάφορες υποστηριζόμενες μορφές. Για να διευκολύνουμε περαιτέρω τους χρήστες μας, δημιουργήσαμε SDK ειδικά για τη γλώσσα προγραμματισμού και σύμφωνα με το πεδίο εφαρμογής αυτού του άρθρου, θα χρησιμοποιήσουμε το Aspose.Imaging Cloud SDK για .NET. Τώρα, επισκεφτείτε τον παρακάτω σύνδεσμο για να μάθετε περισσότερα σχετικά με το Πώς να εγκαταστήσετε το Aspose.Cloud SDK.

Μετατροπή SVG σε PNG σε C#

Ακολουθήστε τις παρακάτω οδηγίες για να μετατρέψετε μια εικόνα SVG που είναι ήδη διαθέσιμη στο χώρο αποθήκευσης Cloud σε μορφή PNG.

  • Το πρώτο βήμα είναι να δημιουργήσετε μια παρουσία του ImagingApi με ταυτόχρονη μεταβίβαση των στοιχείων ClientID και ClientSecret ως ορίσματα.
  • Δεύτερον, ανεβάστε την εικόνα SVG στο χώρο αποθήκευσης Cloud χρησιμοποιώντας τη μέθοδο UploadFile(..) του ImagingApi.
  • Τρίτον, δημιουργήστε μια παρουσία της κλάσης ConvertImageRequest μεταβιβάζοντας το όνομα του SVG εισόδου και τη μορφή που προκύπτει ως ορίσματα.
  • Τώρα καλέστε τη μέθοδο ConvertImage(..) για να εκτελέσετε τη λειτουργία μετατροπής. Το PNG που προκύπτει επιστρέφεται ως στιγμιότυπο ροής.
  • Τέλος, καλέστε την προσαρμοσμένη μέθοδο χρησιμοποιώντας το File.Create για να αποθηκεύσετε την παρουσία ροής ως αρχείο σε μια τοπική μονάδα δίσκου.
// Για πλήρη παραδείγματα, επισκεφθείτε τη διεύθυνση https://github.com/aspose-imaging-cloud/aspose-imaging-cloud-dotnet
// Λάβετε διαπιστευτήρια πελάτη από τη https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";

// δημιουργήστε ένα αντικείμενο του DiagramApi
ImagingApi imagingApi = new ImagingApi(clientSecret,clientID, "https://api.aspose.cloud/");

// όνομα του αρχείου εισόδου SVG
String inputFileName = "trashloader2.svg";
// προκύπτουσα μορφή αρχείου
String newFormat = "png";
// όνομα του αρχείου εξόδου
String newFileName = "Converted.png";

try
{
    // φορτώστε το αρχείο από την τοπική μονάδα δίσκου
    using (var inputStream = System.IO.File.OpenRead(@"C:\Users\shahbnay\Downloads\" + inputFileName))
    {
        // δημιουργία αιτήματος μεταφόρτωσης αρχείου    
        UploadFileRequest request = new UploadFileRequest(inputFileName, inputStream);
        // μεταφορτώστε το αρχείο στον προεπιλεγμένο χώρο αποθήκευσης Cloud
        imagingApi.UploadFile(request);
                
        // δημιουργήστε ένα στιγμιότυπο για τη Μετατροπή εικόνας
        var response = new ConvertImageRequest(inputFileName,newFormat);
        // εκκινήστε τη λειτουργία μετατροπής εικόνας
        var responseStream = imagingApi.ConvertImage(response);
                
        // αποθηκεύστε την παρουσία ροής ως αρχείο στην τοπική αποθήκευση
        saveToDisk(responseStream, @"C:\Users\shahbnay\Downloads\" + newFileName);
    }
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
        
static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}

Για λόγους αναφοράς, τα δείγματα εικόνων που χρησιμοποιούνται στο παραπάνω παράδειγμα μπορούν να ληφθούν από το trashloader2.svg και το Converted.png.

Προεπισκόπηση μετατροπής SVG σε PNG

Εικόνα 1: - Προεπισκόπηση μετατροπής SVG σε PNG.

SVG σε PNG χρησιμοποιώντας εντολές cURL

Σε αυτήν την ενότητα, θα πραγματοποιήσουμε τη μετατροπή του SVG σε PNG χρησιμοποιώντας εντολές cURL. Το πρώτο βήμα είναι να δημιουργήσετε ένα διακριτικό πρόσβασης 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"

Τώρα εκτελέστε την ακόλουθη εντολή cURL για να μετατρέψετε το SVG σε PNG όπου το αποτέλεσμα επιστρέφεται ως ροή απόκρισης και μπορεί να αποθηκευτεί σε μια τοπική μονάδα δίσκου.

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

Σε περίπτωση που έχετε την απαίτηση να μετατρέψετε την εικόνα SVG που διαβιβάστηκε ως περιεχόμενο πολλαπλών μερών/φόρμας με μηδενικό ευρετήριο ή ως ροή ακατέργαστου σώματος.

curl -X POST "https://api.aspose.cloud/v3.0/imaging/convert?format=png" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: multipart/form-data" \
-d {"imageData":{}} \
-o Converted.png

Σύναψη

Έχουμε συζητήσει τις δυνατότητες μετατροπής εικόνας του Aspose.Imaging Cloud API. Η συγκεκριμένη εστίαση ήταν στη μετατροπή του SVG σε PNG χρησιμοποιώντας απόσπασμα κώδικα C# .NET. Ταυτόχρονα, έχουμε συζητήσει τις λεπτομέρειες σχετικά με τον τρόπο αποθήκευσης SVG σε PNG μέσω των εντολών cURL. Λάβετε υπόψη ότι το API είναι επίσης προσβάσιμο μέσω της διεπαφής Swagger και μπορείτε να δοκιμάσετε το API μέσα στο πρόγραμμα περιήγησης ιστού. Ωστόσο, τα Cloud SDK αναπτύσσονται με άδεια MIT, επομένως ένας πλήρης πηγαίος κώδικας μπορεί να ληφθεί από το GitHub.

Σε περίπτωση που αντιμετωπίσετε προβλήματα κατά τη χρήση του API ή έχετε οποιαδήποτε σχετικά ερωτήματα, μη διστάσετε να επικοινωνήσετε μαζί μας μέσω του δωρεάν φόρουμ υποστήριξης προϊόντων.

Σχετικοί Σύνδεσμοι

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