hogyan lehet tiff képet kivonni

Hogyan lehet képeket kivonni TIFF fájlokból

A TIF TIFF a Tag Image File Format rövidítése, és a grafikusok, a kiadói ipar és a fotósok által széles körben használt népszerű rasztergrafikus képek közé tartozik. A TIFF eltér a JPEG, a GIF és a PNG formátumtól, mivel ez egy „tömörítetlen” formátum, és sokkal több képadatot képes tárolni, mint JPEG társai. A TIFF-fájlok egyik kiemelkedő tulajdonsága, hogy képes több képet (mindegyik több csatornával) szekvenciális képkockaként tárolni idő- vagy z-veremben. Tehát ebben a cikkben megvizsgáljuk, hogyan lehet kereteket kivonni többkockából álló TIFF-képekből a Java Cloud SDK használatával.

TIFF képfeldolgozó API

Létrehoztunk egy képfeldolgozó API-t, amely lehetővé teszi a raszterek, metafájlok, Photoshop és egyéb támogatott formátumok szerkesztését, kezelését és átalakítását különféle fájlformátumokká. Ha most a TIFF-képkezelésről beszélünk, az API nagyon is képes TIFF-képek feldolgozására. A cikk hatókörének megfelelően tehát az Aspose.Imaging Cloud SDK for Java-t fogjuk használni, amely a REST API köré épül fel. Tehát a képességek kihasználásának első lépése az, hogy hozzáadja a hivatkozást a java projekthez az alábbi információk megadásával a pom.xml-ben (maven build típusú projekt).

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>https://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-imaging-cloud</artifactId>
        <version>22.4</version>
    </dependency>
</dependencies>

A következő lépés az ügyfél hitelesítő adatainak beszerzése a Cloud Dashboard oldalról, és ha nem rendelkezik Aspose Cloud Dashboard fiókkal, hozzon létre egy ingyenes fiókot érvényes e-mail-címmel. Most jelentkezzen be az újonnan létrehozott fiókkal, és keresse meg/hozza létre az ügyfél-azonosítót és az ügyféltitkot az Aspose Cloud Dashboardon.

Hogyan lehet TIFF-képet kivonni Java-ban

Nézzük meg a részleteket, hogyan lehet képeket kivonni tiff-fájlokból Java kódrészlet segítségével. Felhívjuk figyelmét, hogy az API lehetővé teszi a kibontott keret átméretezését, levágását és elforgatását is. Ezenkívül a saveOtherFrames logikai paraméterek egyike lehetővé teszi annak megadását, hogy az eredmény az összes többi keretet tartalmazza-e, vagy csak egy megadott keretet.

  • Először is hozzon létre egy ImagingApi objektumot személyre szabott ügyfél-hitelesítő adatok alapján
  • Másodszor olvassa be az első TIFF-kép tartalmát a readAllBytes(…) metódussal, és adja át a byte[] tömbnek
  • Harmadszor, hozzon létre egy példányt az UploadFileRequest osztályból, ahol megadjuk a TIFF nevét a felhőtároláson keresztül
  • Most töltse fel az első TIFF-képet a felhőtárhelyre az uploadFile(…) módszerrel
  • Következő lépésként meg kell adni a TIFF keret indexét, a kibontott keret magasságát és szélességét, a kivonat eredetét, és meg kell adni, hogy a kibontott keretet egy adott angyalra kívánja-e.
  • Most hozzon létre egy GetImageFrameRequest objektumot, ahol megadjuk a bemeneti TIFF képet és a fenti tulajdonságokat
  • Hívja meg az ImagingAPI getImageFrame(…) metódusát a TIFF-keret lekéréséhez
  • Mentse a kibontott keretet a helyi meghajtóra a FileOutputStream objektum segítségével
// Szerezze be a ClientID-t és a ClientSecret-et a https://dashboard.aspose.cloud/ webhelyről
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// hozzon létre képalkotó objektumot
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// töltse be az első TIFF-képet a helyi rendszerről
File file1 = new File("DeskewSampleImage.tif");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// fájlfeltöltési kérelem objektum létrehozása
UploadFileRequest uploadRequest = new UploadFileRequest("input.tiff",imageStream,null);
// töltse fel az első TIFF-képet a felhőtárhelyre
imageApi.uploadFile(uploadRequest);

Integer frameId = 0; // Frame number inside TIFF
// a kihúzott keret új szélessége és magassága
Integer newWidth = 1000;
Integer newHeight = 1400;

// origót a keretkivonás elindításához
Integer x = 10;
Integer y = 10;

// téglalap alakú terület a keret kivonásához
Integer rectWidth = 900;
Integer rectHeight = 800;

// adja meg a kibontott TIFF-keret elforgatási szögét
String rotateFlipMethod = "Rotate90FlipY";
// Az eredmény csak a megadott keretet tartalmazza, más kereteket nem
Boolean saveOtherFrames = false;

// Hozzon létre egy kérelem objektumot a tiff-keretek kibontásához a megadott részletek alapján
GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest("input.tiff", frameId, newWidth, newHeight,
                    x, y, rectWidth, rectHeight, null, saveOtherFrames, null, null);

// a kivont keret válaszfolyamban kerül visszaadásra
byte[] updatedImage = imageApi.getImageFrame(getImageFrameRequest);

// A kibontott TIFF-keret mentése a helyi tárolóra
FileOutputStream fos = new FileOutputStream("/Users/s4/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
tiff keret kibontása

Szerezze be a TIFF-keretek előnézetét

A fenti példában használt minta TIFF-képek letölthetők a DeskewSampleImage.tif webhelyről.

TIFF képfeldolgozás cURL parancsokkal

A REST API-k elérésének másik kényelmes módja a cURL parancsok. Mivel az Aspose.Imaging Cloud REST architektúrán alapul, így cURL parancsok segítségével tiff képkockákat is kivonhatunk. Most ennek a tevékenységnek az előfeltétele egy JWT hozzáférési jogkivonat létrehozása (az ügyfél hitelesítő adatai alapján) a következő paranccsal.

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"

A JWT token generálása után a következő parancsot kell végrehajtanunk a TIFF képkeret kinyeréséhez.

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/first.tiff/frames/0?newWidth=1000&newHeight=1200&x=10&y=10&rectWidth=800&rectHeight=800&saveOtherFrames=false" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o ExtractedFrame.tiff

Következtetés

Ezen a ponton minden szükséges részletet megtanultunk a képek tiff-fájlokból történő kibontásához. Megvizsgáltuk a TIFF keret kibontásának lehetőségét Java Java kódrészlettel vagy cURL parancsokkal. Az API ígéretes funkcióinak tesztelésének másik módja a SwaggerUI, és ha módosítani szeretné az SDK forráskódját, letöltheti a GitHub oldalról (minden Cloud SDK-nkat MIT alatt fejlesztettük ki. engedély).

Mindazonáltal a Termékdokumentáció elképesztő információforrás az API által kínált egyéb izgalmas funkciók megismeréséhez. Végül, ha bármilyen problémát észlel az API használata során, megfontolhatja, hogy felkeressen minket a gyors megoldás érdekében az ingyenesen keresztül. terméktámogatási fórum.

kapcsolódó cikkek

Kérjük, látogasson el az alábbi linkekre, ha többet szeretne megtudni erről: