ridimensionare l'immagine

Ridimensiona l’immagine TIFF usando Java

Sappiamo che una delle caratteristiche di spicco dei file TIFF è la sua capacità di memorizzare più immagini (ognuna con più canali) come fotogrammi sequenziali in uno stack temporale o z-stack di immagini. Quindi in questo articolo viene spiegato come estrarre un fotogramma da un’immagine TIFF, ridimensionarlo e salvarlo separatamente nella memoria. L’operazione di ridimensionamento richiede nuove dimensioni (larghezza e altezza) per una cornice TIFF specificata.

Ridimensiona l’API dell’immagine

Aspose.Imaging Cloud SDK for Java è la nostra soluzione basata su REST che offre le funzionalità per modificare, manipolare e trasformare in modo programmatico raster, metafile, photoshop in una varietà di Formati supportati. Allo stesso tempo, offre anche la funzione di manipolazione delle immagini TIFF in cui possiamo persino lavorare su singoli fotogrammi TIFF. Ora, per iniziare con l’utilizzo dell’SDK, dobbiamo aggiungere il suo riferimento nel nostro progetto java includendo le seguenti informazioni in pom.xml (maven build type project).

<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>

Il passaggio successivo consiste nell’ottenere i dettagli delle credenziali del cliente da Cloud Dashboard e se non si dispone di un account su Aspose Cloud Dashboard, creare un account gratuito tramite un indirizzo email valido. Ora accedi utilizzando l’account appena creato e cerca/crea l’ID client e il segreto client su Aspose Cloud Dashboard.

Ridimensiona l’immagine online in Java

In questa sezione, utilizzeremo l’API GetImageFrame per sviluppare il nostro ridimensionatore di immagini TIFF. Questa richiesta API accetta il nome di un’immagine come percorso nell’URL, pertanto, dobbiamo prima caricare l’immagine su Cloud Storage. Dopo aver aggiornato i parametri dell’immagine, l’API restituisce l’immagine aggiornata nella risposta. Hai anche la possibilità di ridimensionare in blocco le foto e puoi specificare se è necessario ridimensionare solo un fotogramma TIFF specifico utilizzando il parametro saveOtherFrames.

  • Innanzitutto, crea un oggetto di ImagingApi basato su credenziali client personalizzate
  • In secondo luogo, leggi il contenuto della prima immagine TIFF usando il metodo readAllBytes(…) e passa all’array byte[]
  • In terzo luogo, crea un’istanza della classe UploadFileRequest in cui specifichiamo il nome di TIFF su Cloud storage
  • Ora carica la prima immagine TIFF nell’archivio cloud utilizzando il metodo uploadFile(…).
  • Specificare l’indice del fotogramma TIFF, la nuova altezza e larghezza per il fotogramma estratto e specificare di ridimensionare solo il fotogramma specificato
  • Ora creiamo un oggetto di GetImageFrameRequest in cui specifichiamo l’immagine TIFF di input e le proprietà sopra definite
  • Chiama il metodo getImageFrame(…) di ImagingAPI per ottenere il frame TIFF
  • Salva il frame estratto sull’unità locale utilizzando l’oggetto FileOutputStream
// Ottieni ClientID e ClientSecret da https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// creare un oggetto Imaging
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// caricare la prima immagine TIFF dal sistema locale
File file1 = new File("TiffSampleImage.tif");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// creare un oggetto di richiesta di caricamento file
UploadFileRequest uploadRequest = new UploadFileRequest("input.tiff",imageStream,null);
// caricare la prima immagine TIFF nell'archivio cloud
imageApi.uploadFile(uploadRequest);

Integer frameId = 0; // Frame number inside TIFF
// nuova larghezza e altezza del telaio estratto
Integer newWidth = 400;
Integer newHeight = 600;

// Risultato per includere solo il fotogramma specificato e non altri fotogrammi
Boolean saveOtherFrames = false;

// Crea un oggetto richiesta per estrarre i frame tiff in base ai dettagli specificati
GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest("input.tiff", frameId, newWidth, newHeight,
                    null, null, null, null, null, saveOtherFrames, null, null);

// il frame estratto viene restituito nel flusso di risposta
byte[] updatedImage = imageApi.getImageFrame(getImageFrameRequest);

// Salva il frame TIFF estratto nella memoria locale
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
ridimensionare la cornice tiff

Ridimensiona anteprima cornice TIFF

Le immagini TIFF di esempio utilizzate nell’esempio precedente possono essere scaricate da TiffSampleImage.tiff.

Riduci le dimensioni dell’immagine utilizzando i comandi cURL

Grazie all’architettura REST dell’API, è possibile accedervi anche con i comandi cURL. Quindi, in questa sezione, discuteremo i dettagli su come ridurre le dimensioni dell’immagine o estrarre il frame tiff in dimensioni particolari utilizzando i comandi cURL. Ora il primo passaggio consiste nel generare un token di accesso JWT (basato sulle credenziali del client) utilizzando il seguente comando.

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"

Dopo la generazione del token JWT, dobbiamo eseguire il seguente comando per ridimensionare il frame TIFF.

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

Conclusione

Questo articolo ha fornito alcuni dettagli sorprendenti su come ridimensionare l’immagine (TIFF) utilizzando Java cloud SDK. Abbiamo appreso i passaggi per ridimensionare il frame TIFF utilizzando lo snippet di codice Java e abbiamo esplorato l’opzione per ridimensionare l’immagine online utilizzando i comandi cURL. Puoi anche considerare di testare le promettenti funzionalità dell’API tramite SwaggerUI all’interno del browser web. E nel caso in cui desideri modificare il codice sorgente dell’SDK, puoi scaricarlo da GitHub (tutti i nostri Cloud SDK sono sviluppati con licenza MIT).

Tuttavia, la Documentazione del prodotto è un’incredibile fonte di informazioni per conoscere altre entusiasmanti funzionalità offerte dall’API. forum di supporto del prodotto.

articoli Correlati

Si prega di visitare i seguenti link per saperne di più su: