
So extrahieren Sie Bilder aus TIFF-Dateien
TIFF von TIF ist eine Abkürzung für Tag Image File Format und gehört zu den beliebten Rastergrafikbildern, die von Grafikern, der Verlagsbranche und Fotografen weit verbreitet sind. Das TIFF unterscheidet sich von JPEG, GIF und PNG, da es ein „unkomprimiertes“ Format ist und viel mehr Bilddaten speichern kann als ihre JPEG-Pendants. Eines der herausragenden Merkmale von TIFF-Dateien ist nun ihre Fähigkeit, mehrere Bilder (jeweils mit mehreren Kanälen) als aufeinanderfolgende Einzelbilder in einem Zeitstapel oder Z-Stapel von Bildern zu speichern. Daher werden wir in diesem Artikel die Details zum Extrahieren von Frames aus TIFF-Bildern mit mehreren Frames mit Java Cloud SDK untersuchen.
- TIFF-Bildverarbeitungs-API
- So extrahieren Sie TIFF-Bilder in Java
- TIFF-Bildverarbeitung mit cURL-Befehlen
TIFF-Bildverarbeitungs-API
Wir haben eine Bildverarbeitungs-API erstellt, die die Möglichkeit bietet, Raster, Metadateien, Photoshop und andere unterstützte Formate in eine Vielzahl von Dateiformaten zu bearbeiten, zu manipulieren und umzuwandeln. Wenn wir jetzt über die Manipulation von TIFF-Bildern sprechen, ist die API sehr gut in der Lage, TIFF-Bilder zu verarbeiten. Gemäß dem Umfang dieses Artikels werden wir also Aspose.Imaging Cloud SDK for Java verwenden, das ein Wrapper um die REST-API ist. Der erste Schritt zur Nutzung seiner Fähigkeiten besteht also darin, seine Referenz im Java-Projekt hinzuzufügen, indem die folgenden Informationen in pom.xml (Maven-Build-Typ-Projekt) eingefügt werden.
<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>
Der nächste Schritt besteht darin, Kundenanmeldedaten von Cloud Dashboard abzurufen. Wenn Sie kein Konto über Aspose Cloud Dashboard haben, erstellen Sie bitte ein kostenloses Konto über eine gültige E-Mail-Adresse. Melden Sie sich jetzt mit dem neu erstellten Konto an und suchen/erstellen Sie die Client-ID und das Client-Secret im Aspose Cloud Dashboard.
So extrahieren Sie TIFF-Bilder in Java
Lassen Sie uns die Details zum Extrahieren von Bildern aus TIFF-Dateien mit Java-Code-Snippets untersuchen. Bitte beachten Sie, dass Sie mit der API auch die Größe des extrahierten Frames ändern, zuschneiden und rotieren können. Darüber hinaus können Sie mit einem der booleschen Parameter saveOtherFrames angeben, ob das Ergebnis alle anderen Frames oder nur einen bestimmten Frame enthalten soll.
- Erstellen Sie zunächst ein ImagingApi-Objekt basierend auf personalisierten Client-Anmeldeinformationen
- Lesen Sie zweitens den Inhalt des ersten TIFF-Bildes mit der readAllBytes(…)-Methode und übergeben Sie ihn an das byte[]-Array
- Erstellen Sie drittens eine Instanz der UploadFileRequest-Klasse, in der wir den Namen von TIFF over Cloud-Speicher angeben
- Laden Sie nun das erste TIFF-Bild mit der Methode uploadFile(…) in den Cloud-Speicher hoch
- Der nächste Schritt besteht darin, den TIFF-Frame-Index, die Höhe und Breite des extrahierten Frames, den Ursprung der Extraktion und die Angabe, ob Sie den extrahierten Frame in einem bestimmten Winkel haben möchten, anzugeben
- Erstellen Sie nun ein Objekt von GetImageFrameRequest, in dem wir das eingegebene TIFF-Bild und die oben definierten Eigenschaften angeben
- Rufen Sie die getImageFrame(…)-Methode von ImagingAPI auf, um den TIFF-Rahmen zu erhalten
- Speichern Sie den extrahierten Frame mit dem FileOutputStream-Objekt auf dem lokalen Laufwerk
// Holen Sie sich ClientID und ClientSecret von https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// Imaging-Objekt erstellen
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// Laden Sie das erste TIFF-Bild vom lokalen System
File file1 = new File("DeskewSampleImage.tif");
byte[] imageStream = Files.readAllBytes(file1.toPath());
// Datei-Upload-Anforderungsobjekt erstellen
UploadFileRequest uploadRequest = new UploadFileRequest("input.tiff",imageStream,null);
// Laden Sie das erste TIFF-Bild in den Cloud-Speicher hoch
imageApi.uploadFile(uploadRequest);
Integer frameId = 0; // Frame number inside TIFF
// neue Breite und Höhe des extrahierten Rahmens
Integer newWidth = 1000;
Integer newHeight = 1400;
// origin, um die Frame-Extraktion zu starten
Integer x = 10;
Integer y = 10;
// rechteckiger Bereich zum Extrahieren des Rahmens
Integer rectWidth = 900;
Integer rectHeight = 800;
// Geben Sie den Drehwinkel für den extrahierten TIFF-Rahmen an
String rotateFlipMethod = "Rotate90FlipY";
// Ergebnis, um nur den angegebenen Frame einzuschließen, keine anderen Frames
Boolean saveOtherFrames = false;
// Erstellen Sie ein Anforderungsobjekt zum Extrahieren von TIFF-Frames basierend auf angegebenen Details
GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest("input.tiff", frameId, newWidth, newHeight,
x, y, rectWidth, rectHeight, null, saveOtherFrames, null, null);
// Der extrahierte Rahmen wird im Antwortstrom zurückgegeben
byte[] updatedImage = imageApi.getImageFrame(getImageFrameRequest);
// Extrahierten TIFF-Frame im lokalen Speicher speichern
FileOutputStream fos = new FileOutputStream("/Users/s4/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();

Holen Sie sich die TIFF-Frames-Vorschau
Die im obigen Beispiel verwendeten TIFF-Beispielbilder können von DeskewSampleImage.tif heruntergeladen werden.
TIFF-Bildverarbeitung mit cURL-Befehlen
Eine weitere bequeme Möglichkeit, auf REST-APIs zuzugreifen, sind cURL-Befehle. Da Aspose.Imaging Cloud auf der REST-Architektur basiert, können wir auch TIFF-Bildrahmen mit cURL-Befehlen extrahieren. Nun ist die Voraussetzung für diese Aktivität das Generieren eines JWT-Zugriffstokens (basierend auf Client-Anmeldeinformationen) mit dem folgenden Befehl.
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"
Nach der JWT-Token-Generierung müssen wir den folgenden Befehl ausführen, um den TIFF-Bildrahmen zu extrahieren.
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/first.tiff/frames/0?newWidth=1000&newHeight=1200&x=10&y=10&rectWidth=800&rectHeight=800&saveOtherFrames=false" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o ExtractedFrame.tiff
Fazit
An dieser Stelle haben wir alle notwendigen Details zum Extrahieren von Bildern aus TIFF-Dateien gelernt. Wir haben die Option zum Extrahieren von TIFF-Frames mit Java-Code-Snippets oder über cURL-Befehle untersucht. Ein weiterer Ansatz zum Testen der vielversprechenden Funktionen der API ist über SwaggerUI, und falls Sie den Quellcode des SDK ändern möchten, können Sie ihn von GitHub herunterladen (alle unsere Cloud-SDKs werden unter MIT entwickelt Lizenz).
Nichtsdestotrotz ist die Produktdokumentation eine erstaunliche Informationsquelle, um mehr über andere aufregende Funktionen der API zu erfahren. Falls Sie bei der Verwendung der API auf Probleme stoßen, können Sie sich für eine schnelle Lösung kostenlos an uns wenden Produkt-Support-Forum.
In Verbindung stehende Artikel
Bitte besuchen Sie die folgenden Links, um mehr darüber zu erfahren: