Εξαγωγή πλαισίων TIFF

Το Tag Image File Format, συντομογραφία TIFF ή TIF, είναι μια μορφή αρχείου υπολογιστή για την αποθήκευση εικόνων γραφικών ράστερ, δημοφιλής στους γραφίστες, στον εκδοτικό κλάδο και στους φωτογράφους. Το TIFF είναι διαφορετικό από τα JPEG, GIF και PNG επειδή είναι “ασυμπίεστη” μορφή. Τα αρχεία TIFF έχουν τη δυνατότητα αποθήκευσης πολλαπλών εικόνων, το καθένα με πολλά κανάλια. Συνήθως, αυτές οι πολλαπλές εικόνες αντιπροσωπεύουν τα διαδοχικά καρέ σε μια χρονική στοίβα ή μια στοίβα z εικόνων, και ως εκ τούτου κάθε μία από αυτές τις εικόνες έχει την ίδια διάσταση.

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

Εικόνα TIFF με κορνίζες

Εγκατάσταση του SDK

Το Aspose.Imaging Cloud SDK for .NET είναι ένα SDK προγραμματισμού που αναπτύχθηκε πάνω από το Aspose.Imaging Cloud API και παρέχει όλες τις δυνατότητες χειρισμού εικόνας σε προγραμματιστές .NET. Έτσι, το πρώτο βήμα είναι να εγκαταστήσετε το SDK που είναι διαθέσιμο για λήψη στο NuGet και στο GitHub. Εκτελέστε την ακόλουθη εντολή για να εγκαταστήσετε το SDK από τη βιβλιοθήκη NuGet.

Install-Package Aspose.Imaging-Cloud

Εναλλακτικά, μπορείτε να προσθέσετε το πακέτο χρησιμοποιώντας τη Διαχείριση πακέτων NuGet στο Visual Studio όπως φαίνεται παρακάτω. Μπορείτε να επισκεφθείτε τον παρακάτω σύνδεσμο για περισσότερες λεπτομέρειες σχετικά με το Πώς να εγκαταστήσετε το Aspose.Cloud SDK.

Aspose.Imaging Cloud SDK

Τώρα, για να χρησιμοποιήσετε το SDK, το επόμενο βήμα είναι να αποκτήσετε τα εξατομικευμένα στοιχεία ClientID και ClientSecret. Επομένως, το πρώτο βήμα είναι να δημιουργήσετε έναν λογαριασμό μεταβαίνοντας στο Aspose.Cloud dashboard. Εάν έχετε λογαριασμό GitHub ή Google, απλώς Εγγραφείτε. Διαφορετικά, κάντε κλικ στο κουμπί Δημιουργία νέου λογαριασμού και δώστε τις απαιτούμενες πληροφορίες. Τώρα συνδεθείτε στον πίνακα εργαλείων χρησιμοποιώντας διαπιστευτήρια και αναπτύξτε την ενότητα Εφαρμογές από τον πίνακα εργαλείων και μετακινηθείτε προς τα κάτω προς την ενότητα Διαπιστευτήρια πελάτη για να δείτε στοιχεία Client ID και Client Secret.

ClientID και ClientSecret προεπισκόπηση

Εξαγωγή πλαισίων TIFF χρησιμοποιώντας την εντολή cURL

Αρχικά, θα συζητήσουμε την εξαγωγή πλαισίων TIFF χρησιμοποιώντας την εντολή cURL καθώς είναι ένας από τους βολικούς τρόπους πρόσβασης στα API REST σε οποιαδήποτε πλατφόρμα. Ανεξάρτητα από την πλατφόρμα και τις υποκείμενες αρχιτεκτονικές πολυπλοκότητες. Έτσι, για να χρησιμοποιήσετε τις εντολές cURL, το πρώτο βήμα είναι να δημιουργήσετε JSON Web Token (JWT) με βάση τα στοιχεία ClientID και ClientSecret που ανακτήθηκαν από τον πίνακα ελέγχου Aspose.Cloud. Εκτελέστε την ακόλουθη εντολή στο τερματικό για να δημιουργήσετε το διακριτικό JWT

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=718e4235-8866-4ebe-bff4-f5a14a4b6466&client_secret=388e864b819d8b067a8b1cb625a2ea8e" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Πριν προχωρήσετε περαιτέρω, σημειώστε ότι το πλαίσιο μπορεί να εξαχθεί χρησιμοποιώντας ένα από τα ακόλουθα δύο API:

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

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

Τώρα χρησιμοποιήστε την ακόλουθη εντολή για να εξαγάγετε το 4ο καρέ από την εικόνα TiffSampleImage.tiff που έχει ήδη μεταφορτωθεί στο χώρο αποθήκευσης cloud.

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/TiffSampleImage.tiff/frames/4?saveOtherFrames=true" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o myresultant.tiff

Πώς να εξαγάγετε πλαίσια TIFF σε C#

Σε αυτήν την ενότητα, πρόκειται να εξαγάγουμε το πλαίσιο TIFF χρησιμοποιώντας C# .NET. Ακολουθήστε τα βήματα που δίνονται παρακάτω

  • Το πρώτο βήμα είναι να δημιουργήσετε ένα αντικείμενο του ImagingApi παρέχοντας ταυτόχρονα το ClientID και το ClientSecret ως ορίσματα
  • Δημιουργήστε ένα αντικείμενο συμβολοσειράς που ορίζει την είσοδο εικόνας TIFF
  • Για να καθορίσετε το πλαίσιο που θα εξαχθεί, δημιουργήστε έναν ακέραιο
  • Δημιουργήστε ακέραια αντικείμενα για να καθορίσετε τις διαστάσεις του εξαγόμενου πλαισίου
  • Το επόμενο βήμα είναι να δημιουργήσετε ένα αντικείμενο GetImageFrameRequest το οποίο λαμβάνει ως ορίσματα το όνομα TIFF, το frameID και άλλες παραμέτρους που σχετίζονται με τις διαστάσεις του πλαισίου που έχουν εξαχθεί
  • Προτελευταία, καλέστε τη μέθοδο GetImageFrame(..) του ImagingApi που λαμβάνει ως όρισμα εισαγωγής το αντικείμενο GetImageFrameRequest
  • Τέλος, αποθηκεύστε την έξοδο για να φορτώσετε τη μονάδα
string clientID = "718e4235-8866-4ebe-bff4-f5a14a4b6466"; // Get ClientID from https://dashboard.aspose.cloud/
string clientSecret = "388e864b819d8b067a8b1cb625a2ea8e"; // Get CLientSecret from https://dashboard.aspose.cloud/

// δημιουργήστε μια παρουσία του ImagingApi
Aspose.Imaging.Cloud.Sdk.Api.ImagingApi imagingApi = new ImagingApi(clientSecret, clientID,"https://api.aspose.cloud/","v3.0",false);

// εισαγωγή εικόνας TIFF διαθέσιμη στο Cloud storage
String fileName = "TiffSampleImage.tiff";

int? frameId = 5; // Index of a frame
int? newWidth = 300;
int? newHeight = 450;
int? x = 10;
int? y = 10;
int? rectWidth = 200;
int? rectHeight = 300;

string rotateFlipMethod = "RotateNoneFlipNone";

// Το αποτέλεσμα θα περιλαμβάνει μόνο το καθορισμένο πλαίσιο
bool? saveOtherFrames = false;

string folder = null; // Input file is saved at the root of the storage
string storage = null; // We are using default Cloud Storage

GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest(fileName, frameId, newWidth, newHeight,
                                x, y, rectWidth, rectHeight, rotateFlipMethod, saveOtherFrames, folder, storage);

Stream imageFrame = imagingApi.GetImageFrame(getImageFrameRequest);

// Αποθηκεύστε την ενημερωμένη εικόνα στον τοπικό χώρο αποθήκευσης
using (var fileStream = File.Create("/Users/nayyershahbaz/Downloads/MyResultant.tiff"))
{
    imageFrame.Seek(0, SeekOrigin.Begin);
    imageFrame.CopyTo(fileStream);
}

Λάβετε υπόψη ότι η ιδιότητα rotateFlipMethod μπορεί να έχει μία από τις ακόλουθες τιμές

Μέθοδος RotateFlip (Rotate180FlipNone, Rotate180FlipX, Rotate180FlipXY, Rotate180FlipY, Rotate270FlipNone, Rotate270FlipX, Rotate270FlipXY, Rotate270FlipY, Rotate0XFlipt ate90FlipY, RotateNoneFlipNone, RotateNoneFlipX, RotateNoneFlipXY, RotateNoneFlipY).Η προεπιλογή είναι RotateNoneFlipNone.

Σύναψη

Η εξαγωγή πλαισίων TIFF από TIFF πολλαπλών πλαισίων έχει εξηγηθεί στο παραπάνω άρθρο. Εκτός από την εξαγωγή καρέ, το API σάς δίνει τη δυνατότητα να αλλάξετε το μέγεθος των πλαισίων TIFF, Λήψη ιδιοτήτων πλαισίου TIFF, Περικοπή πλαισίου TIFF, RotateFlip a frame TIFF, κ.λπ. Σε περίπτωση που αντιμετωπίσετε προβλήματα κατά τη χρήση του API, μη διστάσετε να επικοινωνήσετε μαζί μας μέσω ενός δωρεάν φόρουμ υποστήριξης.

Σας προτείνουμε επίσης να μεταβείτε στους παρακάτω συνδέσμους για περισσότερες πληροφορίες