Kép átméretezése

A TIFF-kép átméretezése Java használatával

A TIFF-fájlok egyik kiemelkedő tulajdonsága, hogy képes több képet (mindegyik több csatornával) szekvenciális képkockákként tárolni egy idő- vagy z-veremben. Ebben a cikkben elmagyarázzuk a TIFF keret kibontásának, átméretezésének és külön tárolóra mentésének lépéseit. A kép átméretezése online művelet új méreteket (szélesség és magasság) biztosít, miközben menti a frissített TIFF-keretet.

Kép API átméretezése

Az Aspose.Imaging Cloud SDK for Java a REST alapú megoldásunk, amely lehetővé teszi a raszterképek, metafájlok és Photoshop programozott szerkesztését, kezelését és átalakítását különféle támogatott formátumokra. A TIFF-képek manipulálására is lehetőséget kínál, ahol akár az egyes TIFF-kockákon is dolgozhatunk. Most az SDK használatának megkezdéséhez hozzá kell adnunk a hivatkozását egy Java projekthez. Tehát kérjük, adja hozzá a következő adatokat a maven build típusú projekt pom.xml fájljához.

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://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 webhelyről, és ha nem rendelkezik Aspose Cloud Dashboard fiókkal, hozzon létre egy ingyenes fiókot érvényes e-mail címmel.

Kép átméretezése online Java nyelven

Ebben a részben a GetImageFrame API-t fogjuk használni a TIFF képátméretező fejlesztéséhez. A képet felhőtárhelyre is feltöltjük, és a képparaméterek frissítése után a módosított kép visszakerül válaszfolyamban. Felhívjuk figyelmét, hogy az API lehetővé teszi a fényképek tömeges átméretezését, vagy csak egy adott TIFF-keret átméretezését a saveOtherFrames paraméter segítségével.

  • Először is hozzon létre egy ImagingApi objektumot személyre szabott ügyfél-hitelesítő adatok segítségével
  • Másodszor olvassa be az első TIFF-kép tartalmát a readAllBytes(…) metódussal, és térjen vissza a byte[] tömbbe
  • Harmadszor, hozzon létre egy példányt az UploadFileRequest osztályból, ahol átadjuk a TIFF-kép nevét
  • Most töltse fel az első TIFF-képet a felhőtárhelyre az uploadFile(…) módszerrel
  • A következő lépés a TIFF keretindex, az új magassági és szélességi méretek, valamint az adott tiff keretindex meghatározása
  • Most hozzon létre egy GetImageFrameRequest objektumot, ahol átadjuk a bemeneti TIFF kép nevét és a fenti tulajdonságokat
  • Hívja meg az ImagingAPI osztály getImageFrame(…) metódusát a megadott TIFF-keret beszerzéséhez
  • Végül 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";

// Képalkotó objektum létrehozása
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// töltse be az első TIFF-képet a helyi rendszerről
File file1 = new File("TiffSampleImage.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 = 400;
Integer newHeight = 600;

// 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,
                    null, null, null, null, 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árhelyre
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
tiff keret átméretezése

TIFF-keret előnézetének átméretezése

A fenti példában használt TIFF-mintaképek letölthetők a TiffSampleImage.tiff webhelyről.

Csökkentse a képméretet a cURL parancsokkal

Az API REST architektúrájának köszönhetően cURL parancsokkal is elérhető. Tehát ebben a részben a képméret csökkentésének vagy adott méretű tiff-keret kinyerésének részleteit tárgyaljuk a cURL parancsok segítségével. Most az első lépés 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 keret átméretezéséhez.

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/input.tiff/frames/0?newWidth=400&newHeight=600&saveOtherFrames=false" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"
-o ResizedFrame.tiff

Következtetés

Ez a cikk egyszerű, de lenyűgöző részleteket tartalmaz a kép (TIFF) Java használatával történő átméretezéséről. Ez az oktatóanyag a TIFF-keret cURL-parancsok segítségével történő átméretezésének lépéseit is ismerteti. Kérjük, vegye figyelembe, hogy egy másik lehetőség az API-képességek tesztelésére a SwaggerUI segítségével egy webböngészőn belül. Továbbá, ha módosítani szeretné az SDK forráskódját, letöltheti a GitHub oldalról, mivel az MIT licenc alatt van közzétéve.

Mindazonáltal a Termékdokumentáció elképesztő információforrás az API egyéb izgalmas funkcióinak minden szükséges részletének megismeréséhez. Végül, ha az API használata során problémákba ütközik, megfontolhatja, hogy felkeressen minket a gyors megoldás érdekében az ingyenes terméktámogatási fórumon.

kapcsolódó cikkek

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