Il TIFF(Tag Image File Format) è ampiamente utilizzato nell’editoria, nel graphic design e nella fotografia grazie alla sua capacità di memorizzare grafica raster di alta qualità. A differenza di JPEG o PNG, un file TIFF può contenere più immagini o fotogrammi all’interno di un unico file. Queste immagini TIFF a più fotogrammi sono spesso utilizzate nell’imaging medico, nei documenti scansionati e nei design a livelli.

API di Elaborazione delle Immagini

Aspose.Imaging Cloud SDK for .NET è un’API straordinaria basata su architettura REST, che offre le capacità di manipolare e processare immagini online. Offre un approccio semplice e facile per estrarre frame TIFF da immagini TIFF a più frame all’interno di uno snippet di codice C# .NET. Il SDK è disponibile per il download da NuGet e GitHub. Ora, installa il REST API per iniziare a manipolare TIFF e altri formati immagine.

Install-Package Aspose.Imaging-Cloud

Ottieni il tuo Client ID e Client Secret dal Aspose Cloud dashboard.

Estrai fotogrammi TIFF utilizzando C#

Questa sezione spiega i dettagli su come possiamo facilmente estrarre un frame TIFF utilizzando C# .NET.

  • Innanzitutto, crea un oggetto di ImagingApi fornendo ClientID e ClientSecret come argomenti.
  • In secondo luogo, crea un oggetto di GetImageFrameRequest che prende come input il nome TIFF, frameID e altri parametri come argomenti.
  • Ora, chiama GetImageFrame(..) metodo di ImagingApi dove passiamo l’oggetto GetImageFrameRequest come argomento di input.
  • Finalmente, salva l’immagine estratta.
// Obtain ClientID and ClientSecter from https://dashboard.aspose.cloud/
string clientID = "XXXXX-XXXXXXXXXX-bff4-f5a14a4b6466"; 
string clientSecret = "XXXXXXXXXX";

// crea un'istanza di ImagingApi
ImagingApi imagingApi = new ImagingApi(clientSecret, clientID,"https://api.aspose.cloud/","v3.0",false);

// input immagine TIFF disponibile su Cloud storage
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";

// Il risultato includerà solo il frame specificato
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);

// Salva l'immagine aggiornata nello spazio di archiviazione locale
using (var fileStream = File.Create("/Users/nayyer/Downloads/MyResultant.tiff"))
{
    imageFrame.Seek(0, SeekOrigin.Begin);
    imageFrame.CopyTo(fileStream);
}

Possiamo fornire uno qualsiasi dei valori alla proprietà rotateFlipMethod.

Metodo RotateFlip (Rotate180FlipNone, Rotate180FlipX, Rotate180FlipXY, Rotate180FlipY, Rotate270FlipNone, Rotate270FlipX, Rotate270FlipXY, Rotate270FlipY, Rotate90FlipNone, Rotate90FlipX, Rotate90FlipXY, Rotate90FlipY, RotateNoneFlipNone, RotateNoneFlipX, RotateNoneFlipXY, RotateNoneFlipY).Il valore predefinito è RotateNoneFlipNone.

Ottieni fotogrammi TIFF utilizzando cURL

In alternativa, possiamo anche utilizzare comandi cURL per eseguire questa operazione. Puoi considerare di utilizzare una delle seguenti chiamate API per eseguire questa operazione.

  1. GET /imaging/{name}/frames/{frameId} - Carica l’immagine dal cloud storage e ricevi l’immagine come risposta.
  2. POST /imaging/frames/{frameId} - Passa TIFF nel corpo della richiesta e ottieni l’immagine risultante nella risposta.

Il primo passo è generare un JSON Web Token (JWT) basato sul tuo ClientID e ClientSecret. Pertanto, esegui il seguente comando nel terminale per generare il token JWT:

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"

Ora, esegui il seguente comando per estrarre il 2° frame dall’ immagine TiffSampleImage.tiff già caricata nel cloud storage.

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

Conclusione

La possibilità di estrarre singoli fotogrammi da immagini TIFF a più fotogrammi è preziosa quando si lavora con documenti scansionati multipagina, file immagine a strati o set di dati di imaging medico. Con Aspose.Imaging Cloud SDK per .NET, puoi automatizzare facilmente questo processo, utilizzando sia chiamate API REST che codice C#.

Articoli Raccomandati

Ti consigliamo di visitare i seguenti link per conoscere: