ridimensionare l'immagine

Ridimensiona l’immagine TIFF usando Java

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. Ora in questo articolo, spiegheremo i passaggi per estrarre un frame TIFF, ridimensionarlo e salvarlo separatamente su un archivio. L’operazione di ridimensionamento dell’immagine in linea si rivolge a nuove dimensioni (larghezza e altezza) durante il salvataggio della cornice TIFF aggiornata.

Ridimensiona l’API dell’immagine

Aspose.Imaging Cloud SDK for Java è la nostra soluzione basata su REST che ti consente di modificare, manipolare e trasformare in modo programmatico immagini raster, metafile e Photoshop in una varietà di formati supportati. Offre anche la funzione per manipolare le immagini TIFF, dove possiamo persino lavorare su singoli fotogrammi TIFF. Ora, per iniziare con l’utilizzo dell’SDK, dobbiamo aggiungere il suo riferimento in un progetto Java. Quindi, aggiungi i seguenti dettagli in pom.xml del progetto di tipo build maven.

<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 le credenziali del cliente da Cloud Dashboard e se non si dispone di un account su Aspose Cloud Dashboard, creare un account gratuito utilizzando un indirizzo email valido.

Ridimensiona l’immagine online in Java

In questa sezione, utilizzeremo l’API GetImageFrame per sviluppare il nostro ridimensionatore di immagini TIFF. Caricheremo anche l’immagine nell’archivio cloud e, dopo aver aggiornato i parametri dell’immagine, l’immagine modificata verrà restituita nel flusso di risposta. Tieni presente che l’API ti consente di ridimensionare in blocco le foto o ridimensionare solo un frame TIFF specifico utilizzando il parametro saveOtherFrames.

  • Innanzitutto, crea un oggetto di ImagingApi utilizzando credenziali client personalizzate
  • In secondo luogo, leggi il contenuto della prima immagine TIFF usando il metodo readAllBytes(…) e restituiscilo all’array byte[]
  • In terzo luogo, crea un’istanza della classe UploadFileRequest in cui passiamo il nome dell’immagine TIFF
  • Ora carica la prima immagine TIFF nell’archivio cloud utilizzando il metodo uploadFile(…).
  • Il passaggio successivo consiste nello specificare l’indice del frame TIFF, le nuove dimensioni di altezza e larghezza e un particolare indice del frame tiff
  • Ora crea un oggetto di GetImageFrameRequest in cui passiamo il nome dell’immagine TIFF di input e le proprietà sopra definite
  • Chiamare il metodo getImageFrame(…) della classe ImagingAPI per ottenere il frame TIFF specificato
  • Infine, 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

A causa dell’architettura REST dell’API, è possibile accedervi anche tramite i comandi cURL. Quindi, in questa sezione, discuteremo i dettagli su come ridurre le dimensioni dell’immagine o estrarre frame tiff con 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 dettagli semplici ma sorprendenti su come ridimensionare l’immagine (TIFF) utilizzando Java. Questo tutorial ha anche spiegato tutti i passaggi per ridimensionare il frame TIFF usando i comandi cURL. Tieni presente che un’altra opzione per testare le funzionalità dell’API è tramite SwaggerUI all’interno di un browser web. Inoltre, se sei interessato a modificare il codice sorgente dell’SDK, puoi scaricarlo da GitHub, poiché è pubblicato sotto licenza MIT.

Tuttavia, la documentazione del prodotto è una straordinaria fonte di informazioni per apprendere tutti i dettagli necessari su altre interessanti funzionalità dell’API. Infine, se riscontri problemi durante l’utilizzo dell’API, puoi considerare di contattarci per una rapida risoluzione tramite il forum di supporto del prodotto gratuito.

articoli Correlati

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