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