Bildgröße anpassen

Ändern Sie die Größe des TIFF-Bildes mit Java

Eines der herausragenden Merkmale von TIFF-Dateien ist ihre Fähigkeit, mehrere Bilder (jedes mit mehreren Kanälen) als aufeinanderfolgende Frames in einem Zeitstapel oder Z-Stapel von Bildern zu speichern. In diesem Artikel erklären wir nun die Schritte zum Extrahieren eines TIFF-Frames, zum Ändern der Größe und zum separaten Speichern auf einem Speicher. Die Online-Operation zum Ändern der Bildgröße berücksichtigt neue Abmessungen (Breite und Höhe), während der aktualisierte TIFF-Rahmen gespeichert wird.

Bild-API zur Größenänderung

Aspose.Imaging Cloud SDK for Java ist unsere REST-basierte Lösung, mit der Sie Rasterbilder, Metadateien und Photoshop programmatisch bearbeiten, manipulieren und in eine Vielzahl von unterstützten Formaten umwandeln können. Es bietet auch die Funktion zum Bearbeiten von TIFF-Bildern, wobei wir sogar an einzelnen TIFF-Frames arbeiten können. Um nun mit der SDK-Nutzung zu beginnen, müssen wir seine Referenz in einem Java-Projekt hinzufügen. Fügen Sie also bitte die folgenden Details in pom.xml des Maven-Build-Typ-Projekts hinzu.

<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, die Client-Anmeldeinformationen von Cloud Dashboard abzurufen. Wenn Sie kein Konto über Aspose Cloud Dashboard haben, erstellen Sie bitte ein kostenloses Konto mit einer gültigen E-Mail-Adresse.

Ändern Sie die Bildgröße online in Java

In diesem Abschnitt werden wir die GetImageFrame-API verwenden, um unsere TIFF-Bildgrößenanpassung zu entwickeln. Wir laden das Bild auch in den Cloud-Speicher hoch und nach dem Aktualisieren der Bildparameter wird das geänderte Bild im Antwortstrom zurückgegeben. Bitte beachten Sie, dass Sie mit der API die Größe von Fotos massenhaft ändern oder nur die Größe eines bestimmten TIFF-Frames mithilfe des Parameters saveOtherFrames ändern können.

  • Erstellen Sie zunächst ein ImagingApi-Objekt mit personalisierten Client-Anmeldeinformationen
  • Lesen Sie zweitens den Inhalt des ersten TIFF-Bildes mit der Methode readAllBytes(…) und geben Sie ihn an das Array byte[] zurück
  • Drittens erstellen Sie eine Instanz der UploadFileRequest-Klasse, in der wir den Namen des TIFF-Bildes übergeben
  • 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, neue Höhen- und Breitenabmessungen und einen bestimmten TIFF-Frame-Index anzugeben
  • Erstellen Sie nun ein Objekt von GetImageFrameRequest, wo wir den Namen des eingegebenen TIFF-Bildes und die oben definierten Eigenschaften übergeben
  • Rufen Sie die getImageFrame(…)-Methode der ImagingAPI-Klasse auf, um den angegebenen TIFF-Frame zu erhalten
  • Speichern Sie schließlich 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("TiffSampleImage.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 = 400;
Integer newHeight = 600;

// 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,
                    null, null, null, null, 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/nayyer/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
Größe des TIFF-Rahmens ändern

Größe der TIFF-Rahmenvorschau ändern

Die im obigen Beispiel verwendeten TIFF-Beispielbilder können von TiffSampleImage.tiff heruntergeladen werden.

Reduzieren Sie die Bildgröße mit cURL-Befehlen

Aufgrund der REST-Architektur der API kann auch über cURL-Befehle darauf zugegriffen werden. In diesem Abschnitt werden wir also die Details besprechen, wie Sie die Bildgröße reduzieren oder TIFF-Frames mit bestimmten Abmessungen mithilfe der cURL-Befehle extrahieren können. Der erste Schritt besteht nun darin, mit dem folgenden Befehl ein JWT-Zugriffstoken (basierend auf Client-Anmeldeinformationen) zu generieren.

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 Generierung des JWT-Tokens müssen wir den folgenden Befehl ausführen, um die Größe des TIFF-Frames zu ändern.

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/input.tiff/frames/0?newWidth=400&newHeight=600&saveOtherFrames=false" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"
-o ResizedFrame.tiff

Fazit

Dieser Artikel enthält einfache, aber erstaunliche Details zur Größenänderung von Bildern (TIFF) mit Java. In diesem Tutorial wurden auch alle Schritte zum Ändern der Größe von TIFF-Frames mit cURL-Befehlen erläutert. Bitte beachten Sie, dass eine weitere Möglichkeit zum Testen der API-Funktionen über SwaggerUI in einem Webbrowser besteht. Wenn Sie daran interessiert sind, den Quellcode des SDK zu ändern, kann er von GitHub heruntergeladen werden, da er unter MIT-Lizenz veröffentlicht wird.

Nichtsdestotrotz ist die Produktdokumentation eine erstaunliche Informationsquelle, um alle notwendigen Details ü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 über das kostenlose Produkt-Support-Forum an uns wenden.

Verwandte Artikel

Bitte besuchen Sie die folgenden Links, um mehr darüber zu erfahren: