kako izdvojiti tiff sliku

Kako izdvojiti slike iz TIFF datoteka

TIFF od TIF je skraćenica za Tag Image File Format i među popularnim rasterskim grafičkim slikama, koje naširoko koriste grafičari, izdavačka industrija i fotografi. TIFF se razlikuje od JPEG, GIF i PNG jer je to “nekomprimirani” format i može pohraniti mnogo više slikovnih podataka od svojih JPEG parnjaka. Sada je jedna od istaknutih značajki TIFF datoteka njihova sposobnost pohranjivanja više slika (svaka ima više kanala) kao sekvencijalnih okvira u vremenskom ili z-skupu slika. Stoga ćemo u ovom članku istražiti pojedinosti o tome kako izdvojiti okvire iz TIFF slika s više okvira pomoću Java Cloud SDK-a.

TIFF API za obradu slike

Stvorili smo API za obradu slike koji nudi mogućnosti uređivanja, manipuliranja i transformacije rastera, metadatoteka, photoshopa i drugih podržanih formata u različite formate datoteka. Sada kada govorimo o manipulaciji TIFF slikama, API je vrlo sposoban obraditi TIFF slike. Dakle, prema opsegu ovog članka, koristit ćemo Aspose.Imaging Cloud SDK za Javu koji je omotač oko REST API-ja. Stoga je prvi korak u korištenju njegovih mogućnosti dodavanje njegove reference u java projekt uključivanjem sljedećih informacija u pom.xml (maven build type project).

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

Sljedeći korak je dobivanje pojedinosti o vjerodajnicama klijenta s Cloud Dashboard, a ako nemate račun na Aspose Cloud Dashboard, otvorite besplatni račun putem važeće adrese e-pošte. Sada se prijavite pomoću novostvorenog računa i potražite/izradite ID klijenta i tajnu klijenta na Aspose Cloud Dashboard.

Kako izdvojiti TIFF sliku u Javi

Istražimo pojedinosti o tome kako izdvojiti slike iz tiff datoteka pomoću isječka Java koda. Imajte na umu da vam API također omogućuje promjenu veličine, izrezivanje i rotiranje Okretanje izvađenog okvira. Štoviše, jedan od booleovih parametara saveOtherFrames omogućuje vam da odredite hoće li rezultat uključivati sve ostale okvire ili samo određeni okvir.

  • Prvo, stvorite objekt ImagingApi na temelju personaliziranih vjerodajnica klijenta
  • Drugo, pročitajte sadržaj prve TIFF slike koristeći metodu readAllBytes(…) i proslijedite niz byte[]
  • Treće, stvorite instancu klase UploadFileRequest gdje navodimo naziv TIFF-a preko pohrane u oblaku
  • Sada prenesite prvu TIFF sliku u pohranu u oblaku pomoću metode uploadFile(…).
  • Sljedeći korak je navesti indeks TIFF okvira, visinu i širinu izdvojenog okvira, porijeklo izvlačenja i navesti želite li izdvojeni okvir u određenom anđelu
  • Sada stvorite objekt GetImageFrameRequest gdje specificiramo ulaznu TIFF sliku i gore definirana svojstva
  • Pozovite getImageFrame(…) metodu ImagingAPI za dobivanje TIFF okvira
  • Spremite izdvojeni okvir na lokalni disk pomoću objekta FileOutputStream
// Dobijte ClientID i ClientSecret s https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// stvoriti Imaging object
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// učitati prvu TIFF sliku iz lokalnog sustava
File file1 = new File("DeskewSampleImage.tif");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// stvoriti objekt zahtjeva za učitavanje datoteke
UploadFileRequest uploadRequest = new UploadFileRequest("input.tiff",imageStream,null);
// prenesite prvu TIFF sliku u pohranu u oblaku
imageApi.uploadFile(uploadRequest);

Integer frameId = 0; // Frame number inside TIFF
// nova širina i visina izvađenog okvira
Integer newWidth = 1000;
Integer newHeight = 1400;

// ishodište za početak izdvajanja okvira
Integer x = 10;
Integer y = 10;

// pravokutno područje za izdvajanje okvira
Integer rectWidth = 900;
Integer rectHeight = 800;

// odredite kut zakretanja za izdvojeni TIFF okvir
String rotateFlipMethod = "Rotate90FlipY";
// Rezultat uključuje samo navedeni okvir, ali ne i druge okvire
Boolean saveOtherFrames = false;

// Stvorite objekt zahtjeva za izdvajanje tiff okvira na temelju navedenih detalja
GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest("input.tiff", frameId, newWidth, newHeight,
                    x, y, rectWidth, rectHeight, null, saveOtherFrames, null, null);

// ekstrahirani okvir se vraća u toku odgovora
byte[] updatedImage = imageApi.getImageFrame(getImageFrameRequest);

// Spremite izdvojeni TIFF okvir u lokalnu pohranu
FileOutputStream fos = new FileOutputStream("/Users/s4/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
izvući tiff okvir

Dobijte pregled TIFF okvira

Uzorci TIFF slika korištenih u gornjem primjeru mogu se preuzeti s DeskewSampleImage.tif.

Obrada TIFF slike pomoću cURL naredbi

Još jedan prikladan način pristupa REST API-jima je putem cURL naredbi. Budući da se Aspose.Imaging Cloud temelji na REST arhitekturi, tako da također možemo ekstrahirati tiff okvire slika pomoću cURL naredbi. Sada je preduvjet ove aktivnosti generiranje JWT pristupnog tokena (na temelju vjerodajnica klijenta) pomoću sljedeće naredbe.

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"

Nakon generiranja JWT tokena, moramo izvršiti sljedeću naredbu za ekstrahiranje okvira TIFF slike.

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

Zaključak

U ovom smo trenutku naučili sve potrebne detalje o tome kako izdvojiti slike iz tiff datoteka. Istražili smo opciju izdvajanja TIFF okvira pomoću Java Java isječka koda ili putem cURL naredbi. Drugi pristup testiranju obećavajućih značajki API-ja je putem SwaggerUI, a u slučaju da želite izmijeniti izvorni kod SDK-a, možete ga preuzeti s GitHub (svi naši Cloud SDK-ovi razvijeni su pod MIT-om licencija).

Unatoč tome, Dokumentacija proizvoda nevjerojatan je izvor informacija za učenje o drugim uzbudljivim značajkama koje nudi API. Na kraju, u slučaju da naiđete na bilo kakve probleme tijekom korištenja API-ja, razmislite o tome da nam se obratite za brzo rješenje putem besplatnog forum za podršku proizvoda.

povezani članci

Posjetite sljedeće veze kako biste saznali više o: