Bontsa ki a TIFF kereteket

A Tag Image File Format, rövidítve TIFF vagy TIF, egy számítógépes fájlformátum rasztergrafikus képek tárolására, népszerű a grafikusok, a kiadói ágazat és a fotósok körében. A TIFF eltér a JPEG, GIF és PNG formátumtól, mivel ez egy “tömörítetlen” formátum. A TIFF fájlok több kép tárolására is alkalmasak, mindegyiknek több csatornája van. Általában ezek a többszörös képek a szekvenciális képkockákat reprezentálják egy idő- vagy z-veremben, ezért ezeknek a képeknek mindegyike azonos dimenzióval rendelkezik.

A TIFF-ben további lehetőségek a rétegek és oldalak, ahol a réteg összehasonlítható az átlátszósággal, amelyen képeffektusokat vagy képeket alkalmazunk, és a kép fölé vagy alá helyezünk. Ahogy az alábbi képen látható, a kép több réteget is tartalmaz. Ebben a cikkben az Aspose.Imaging Cloud SDK for .NET segítségével több képkockás TIFF-képekből keretek kibontásának lépéseit tárgyaljuk.

TIFF kép keretekkel

SDK telepítése

Az Aspose.Imaging Cloud SDK for .NET egy programozási SDK, amelyet az Aspose.Imaging Cloud API-n felül fejlesztettek, és minden képkezelési lehetőséget biztosít a .NET-fejlesztők számára. Tehát az első lépés az SDK telepítése, amely letölthető a NuGet és a GitHub oldalakon. Hajtsa végre a következő parancsot az SDK NuGet könyvtárból történő telepítéséhez.

Install-Package Aspose.Imaging-Cloud

Alternatív megoldásként hozzáadhatja a csomagot a Visual Studio NuGet csomagkezelőjével az alábbiak szerint. Az Aspose.Cloud SDK-k telepítése témakörrel kapcsolatos további részletekért érdemes meglátogatni a következő linket.

Aspose.Imaging Cloud SDK

Az SDK használatához a következő lépés a személyre szabott ClientID és ClientSecret adatok beszerzése. Ezért az első lépés egy fiók létrehozása az Aspose.Cloud dashboard oldal meglátogatásával. Ha rendelkezik GitHub- vagy Google-fiókkal, egyszerűen regisztráljon. Ellenkező esetben kattintson az Új fiók létrehozása gombra, és adja meg a szükséges információkat. Most jelentkezzen be az irányítópultra a hitelesítési adatokkal, és bontsa ki az Alkalmazások részt az irányítópulton, és görgessen lefelé az Ügyfél hitelesítő adatai szakasz felé, hogy megtekinthesse az ügyfél-azonosítót és az ügyféltitkot.

ClientID és ClientSecret előnézet

Bontsa ki a TIFF-kereteket a cURL paranccsal

Először a TIFF-keretek cURL paranccsal történő kinyerését fogjuk megvitatni, mivel ez az egyik kényelmes módja a REST API-k elérésének bármely platformon. A platformtól és a mögöttes építészeti bonyolultságoktól függetlenül. Tehát a cURL parancsok használatához az első lépés a JSON Web Token (JWT) létrehozása az Aspose.Cloud irányítópultjáról lekért ClientID és ClientSecret adatai alapján. Kérjük, hajtsa végre a következő parancsot a terminálban a JWT token generálásához

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=718e4235-8866-4ebe-bff4-f5a14a4b6466&client_secret=388e864b819d8b067a8b1cb625a2ea8e" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Mielőtt továbblépne, kérjük, vegye figyelembe, hogy a keret a következő két API valamelyikével bontható ki:

Az első API elvárja, hogy először töltsön fel egy képet a Cloud Storage szolgáltatásba, majd adja át a nevét az API URL-ben. A képparaméterek frissítése után az API a frissített képet adja vissza a válaszban.

Másrészt a második API-val közvetlenül átadhatja a képet a kérés törzsében. Azt is lehetővé teszi, hogy a frissített képfájlt a Cloud Storage-ra mentse az outPath paraméter értékének megadásával. Ha azonban nem adja meg az értéket, a válasz streamelt képet tartalmaz.

Most a következő paranccsal bontsa ki a 4. képkockát a felhőtárhelyre már feltöltött TiffSampleImage.tiff képből.

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/TiffSampleImage.tiff/frames/4?saveOtherFrames=true" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o myresultant.tiff

TIFF keretek kibontása C#-ban

Ebben a részben a TIFF-keretet C# .NET segítségével bontjuk ki. Kérjük, kövesse az alábbi lépéseket

  • Az első lépés az ImagingApi objektum létrehozása, miközben argumentumként megadja a ClientID és a ClientSecret paramétereket.
  • Hozzon létre egy karakterlánc objektumot, amely meghatározza a bemeneti TIFF képet
  • A kibontandó keret megadásához hozzon létre egy egész számot
  • Hozzon létre egész objektumokat a kibontott keret méreteinek megadásához
  • A következő lépés egy objektum GetImageFrameRequest létrehozása, amely argumentumként veszi a bemeneti TIFF nevet, frameID-t és a kibontott keretméretekhez kapcsolódó egyéb paramétereket.
  • Utolsó előtti, hívja meg az ImagingApi GetImageFrame(..) metódust, amely a GetImageFrameRequest objektumot veszi be bemeneti argumentumként
  • Végül mentse a kimenetet a meghajtó betöltéséhez
string clientID = "718e4235-8866-4ebe-bff4-f5a14a4b6466"; // Get ClientID from https://dashboard.aspose.cloud/
string clientSecret = "388e864b819d8b067a8b1cb625a2ea8e"; // Get CLientSecret from https://dashboard.aspose.cloud/

// hozzon létre egy ImagingApi példányt
Aspose.Imaging.Cloud.Sdk.Api.ImagingApi imagingApi = new ImagingApi(clientSecret, clientID,"https://api.aspose.cloud/","v3.0",false);

// bemeneti TIFF-kép elérhető a felhőtárhelyen
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";

// Az eredmény csak a megadott keretet tartalmazza
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);

// Mentse el a frissített képet a helyi tárhelyre
using (var fileStream = File.Create("/Users/nayyershahbaz/Downloads/MyResultant.tiff"))
{
    imageFrame.Seek(0, SeekOrigin.Begin);
    imageFrame.CopyTo(fileStream);
}

Felhívjuk figyelmét, hogy a rotateFlipMethod tulajdonság a következő értékek egyikével rendelkezhet

RotateFlip módszer (Rotate180FlipNone, Rotate180FlipX, Rotate180FlipXY, Rotate180FlipY, Rotate270FlipNone, Rotate270FlipX, Rotate270FlipXY, Rotate270FlipY, RotateFlipX,9FlipX, Rotate90 te90FlipY, RotateNoneFlipNone, RotateNoneFlipX, RotateNoneFlipXY, RotateNoneFlipY).Az alapértelmezés a RotateNoneFlipNone.

Következtetés

A TIFF-kockák többkockából álló TIFF-ből való kinyerését a fenti cikk ismerteti. A keretek kibontásán kívül az API lehetővé teszi a TIFF-kockák átméretezését, TIFF-kerettulajdonságok lekérését, TIFF-keret kivágását, TIFF-keret elforgatását, stb. Ha bármilyen problémába ütközik az API használata során, kérjük, forduljon hozzánk egy ingyenes támogatási fórumon.

Azt is javasoljuk, hogy az alábbi linkeken keressen további információkat