Das TIFF(Tag Image File Format) wird aufgrund seiner Fähigkeit, hochwertige Rastergrafiken zu speichern, häufig in der Verlagsbranche, im Grafikdesign und in der Fotografie verwendet. Im Gegensatz zu JPEG oder PNG kann eine TIFF-Datei mehrere Bilder oder Frames in einer einzigen Datei speichern. Diese Multi-Frame-TIFF bilder werden oft in der medizinischen Bildgebung, bei gescannten Dokumenten und in mehrschichtigen Designs verwendet.

Image Processing API

Aspose.Imaging Cloud SDK for .NET ist eine erstaunliche API, die auf der REST-Architektur basiert und die Möglichkeiten bietet, Bilder online zu manipulieren und zu verarbeiten. Es bietet einen einfachen und unkomplizierten Ansatz zum Extrahieren von TIFF-Frames aus einem Mehrbereichs-TIFF bild innerhalb eines C# .NET-Code-Snippets. Das SDK ist zum Download verfügbar von NuGet und GitHub. Installieren Sie jetzt die REST-API, um mit der Manipulation von TIFF und anderen Bildformaten zu beginnen.

Install-Package Aspose.Imaging-Cloud

Holen Sie sich Ihre Client-ID und Client-Secret von Aspose Cloud dashboard.

Extrahieren von TIFF-Frames mit C#

Dieser Abschnitt erklärt die Details, wie wir TIFF-Rahmen einfach mit C# .NET extrahieren können.

  • Zuerst erstellen Sie ein Objekt von ImagingApi, indem Sie ClientID und ClientSecret als Argumente übergeben.
  • Zweitens, erstellen Sie ein Objekt von GetImageFrameRequest, das den Eingabename TIFF, frameID und andere Parameter als Argumente entgegennimmt.
  • Jetzt, rufen Sie die GetImageFrame(..) Methode von ImagingApi auf, bei der wir das GetImageFrameRequest Objekt als Eingabeparameter übergeben.
  • Schließlich speichern Sie das extrahierte Bild.
// Obtain ClientID und ClientSecter von https://dashboard.aspose.cloud/
string clientID = "XXXXX-XXXXXXXXXX-bff4-f5a14a4b6466"; 
string clientSecret = "XXXXXXXXXX";

// erstelle eine Instanz von ImagingApi
ImagingApi imagingApi = new ImagingApi(clientSecret, clientID,"https://api.aspose.cloud/","v3.0",false);

// input TIFF bild verfügbar auf Cloud-Speicher
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";

// Das Ergebnis umfasst nur den angegebenen Rahmen.
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);

// Aktualisiertes Bild im lokalen Speicher speichern
using (var fileStream = File.Create("/Users/nayyer/Downloads/MyResultant.tiff"))
{
    imageFrame.Seek(0, SeekOrigin.Begin);
    imageFrame.CopyTo(fileStream);
}

Wir können einen beliebigen Wert für die rotateFlipMethod-Eigenschaft bereitstellen.

RotateFlip-Methode (Rotate180FlipNone, Rotate180FlipX, Rotate180FlipXY, Rotate180FlipY, Rotate270FlipNone, Rotate270FlipX, Rotate270FlipXY, Rotate270FlipY, Rotate90FlipNone, Rotate90FlipX, Rotate90FlipXY, Rotate90FlipY, RotateNoneFlipNone, RotateNoneFlipX, RotateNoneFlipXY, RotateNoneFlipY).Standard ist RotateNoneFlipNone.

Get TIFF Frames using cURL

Alternativ können wir auch cURL-Befehle verwenden, um diese Operation durchzuführen. Sie können in Betracht ziehen, einen der folgenden API-Aufrufe zu verwenden, um diese Operation durchzuführen.

  1. GET /imaging/{name}/frames/{frameId} - Bild aus dem Cloud-Speicher laden und Bild als Antwort erhalten.
  2. POST /imaging/frames/{frameId} - TIFF im Anfragekörper übergeben und das resultierende Bild in der Antwort erhalten.

Der erste Schritt besteht darin, ein JSON Web Token (JWT) basierend auf Ihrer ClientID und ClientSecret zu generieren. Führen Sie daher den folgenden Befehl im Terminal aus, um das JWT-Token zu generieren:

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=XXXXXX-XXXXX-XXX-bff4-f5a14a4b6466&client_secret=XXXXXXXXXXX" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Führen Sie jetzt den folgenden Befehl aus, um den 2. Frame aus TiffSampleImage.tiff Bild, das bereits auf Cloud-Speicher hochgeladen wurde, zu extrahieren.

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

Fazit

Die Fähigkeit, einzelne Frames aus mehrseitigen TIFF bildern zu extrahieren, ist wertvoll, wenn man mit gescannten Mehrseiten Dokumenten, gestapelten Bilddateien oder medizinischen Bilddatensätzen arbeitet. Mit Aspose.Imaging Cloud SDK für .NET können Sie diesen Prozess einfach automatisieren, indem Sie entweder REST-API-Aufrufe oder C#-Code verwenden.

Empfohlene Artikel

Wir empfehlen Ihnen, die folgenden Links zu besuchen, um mehr über Folgendes zu erfahren: