Den TIFF(Tag Image File Format) er vidt brugt i publikation, grafisk design og fotografering på grund af dens evne til at gemme høj-kvalitets rastergrafik. I modsætning til JPEG eller PNG kan en TIFF-fil indeholde flere billeder eller rammer inden for en enkelt fil. Disse multi-ramme TIFF-billeder anvendes ofte i medicinsk billeddannelse, scannede dokumenter og lagdelte designs.

Image Processing API

Aspose.Imaging Cloud SDK for .NET er en fantastisk API baseret på REST-arkitektur, der tilbyder muligheder for at manipulere og behandle billeder online. Det tilbyder en simpel og let tilgang til at udtrække tiff-rammer fra multi-frame TIFF-billeder inden for C# .NET kodeeksempel. SDK’en er tilgængelig til download fra NuGet og GitHub. Installer nu REST API’en for at begynde at manipulere TIFF og andre billedformater.

Install-Package Aspose.Imaging-Cloud

Få dit Client ID og Client Secret fra Aspose Cloud dashboard.

Udkald TIFF-rammer ved hjælp af C#

Dette afsnit forklarer detaljerne om, hvordan vi nemt kan udtrække TIFF-rammer ved hjælp af C# .NET.

  • Først oprettes et objekt af ImagingApi, mens ClientID og ClientSecret gives som argumenter.
  • For det andet, opret et objekt af GetImageFrameRequest, som tager input TIFF-navn, frameID og andre parametre som argumenter.
  • Nu skal du kalde GetImageFrame(..) metoden fra ImagingApi, hvor vi passerer GetImageFrameRequest objektet som inputargument.
  • Endelig, gem det udtrukne billede.
// Obtain ClientID and ClientSecter from https://dashboard.aspose.cloud/
string clientID = "XXXXX-XXXXXXXXXX-bff4-f5a14a4b6466"; 
string clientSecret = "XXXXXXXXXX";

// create an instance of ImagingApi
ImagingApi imagingApi = new ImagingApi(clientSecret, clientID,"https://api.aspose.cloud/","v3.0",false);

// input TIFF billede tilgængeligt på Cloud-lagring
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";

// Resultatet vil kun inkludere den angivne ramme
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);

// Gem opdateret billede til lokal opbevaring
using (var fileStream = File.Create("/Users/nayyer/Downloads/MyResultant.tiff"))
{
    imageFrame.Seek(0, SeekOrigin.Begin);
    imageFrame.CopyTo(fileStream);
}

Vi kan give enhver af værdierne til rotateFlipMethod egenskaben.

RotateFlip metode (Rotate180FlipNone, Rotate180FlipX, Rotate180FlipXY, Rotate180FlipY, Rotate270FlipNone, Rotate270FlipX, Rotate270FlipXY, Rotate270FlipY, Rotate90FlipNone, Rotate90FlipX, Rotate90FlipXY, Rotate90FlipY, RotateNoneFlipNone, RotateNoneFlipX, RotateNoneFlipXY, RotateNoneFlipY).Standard er RotateNoneFlipNone.

Hent TIFF rammer ved hjælp af cURL

Alternativt kan vi også bruge cURL-kommandoer til at udføre denne operation. Du kan overveje at bruge en af de følgende API-kald til at udføre denne operation.

  1. GET /imaging/{name}/frames/{frameId} - Indlæs billede fra cloud-lager og få billede i svar.
  2. POST /imaging/frames/{frameId} - Send TIFF i anmodningskroppen og få det resulterende billede i svaret.

Det første skridt er at generere JSON Web Token (JWT) baseret på dit ClientID og ClientSecret. Derfor skal du udføre følgende kommando i terminalen for at generere JWT-token:

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"

Nu skal du udføre følgende kommando for at udtrække den 2. ramme fra TiffSampleImage.tiff billedet, der allerede er uploadet til cloud-lagring.

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

Konklusion

Evnen til at udtrække individuelle rammer fra multiframe TIFF-billeder er værdifuld, når man arbejder med scannede multipagedokumenter, lagrede billedfiler eller medicinske billeddata. Med Aspose.Imaging Cloud SDK for .NET kan du automatisere denne proces nemt, ved at bruge enten REST API-opkald eller C#-kode.

Anbefalede artikler

Vi anbefaler, at du besøger følgende links for at lære om: