promeni veličinu slike

Promjena veličine TIFF slike pomoću Jave

Jedna od istaknutih karakteristika TIFF datoteka je njihova sposobnost pohranjivanja više slika (svaka ima više kanala) kao uzastopnih okvira u vremenskom ili z-stogu slika. Sada ćemo u ovom članku objasniti korake za izdvajanje TIFF okvira, promjenu njegove veličine i odvojeno spremanje na pohranu. Operacija promjene veličine slike na mreži omogućava nove dimenzije (širina i visina) uz spremanje ažuriranog TIFF okvira.

API za promjenu veličine slike

Aspose.Imaging Cloud SDK za Javu je naše rješenje zasnovano na REST-u koje vam omogućava da programski uređujete, manipulišete i transformišete rasterske slike, metafajlove i Photoshop u razne Podržane formate. Također nudi funkciju za manipulaciju TIFF slikama, gdje čak možemo raditi na pojedinačnim TIFF okvirima. Sada, da bismo započeli s korištenjem SDK-a, moramo dodati njegovu referencu u Java projekt. Dakle, dodajte sljedeće detalje u pom.xml projekta tipa maven build.

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

Sljedeći korak je pribavljanje akreditiva klijenta sa Cloud Dashboard i ako nemate nalog preko Aspose Cloud Dashboard, kreirajte besplatni nalog koristeći važeću adresu e-pošte.

Promena veličine slike na mreži u Javi

U ovom dijelu ćemo koristiti GetImageFrame API za razvoj našeg TIFF veličine slike. Također ćemo prenijeti sliku u pohranu u oblaku i nakon ažuriranja parametara slike, izmijenjena slika se vraća u streamu odgovora. Imajte na umu da vam API omogućava grupnu promjenu veličine fotografija ili promjenu veličine samo određenog TIFF okvira pomoću parametra saveOtherFrames.

  • Prvo, kreirajte objekat ImagingApi koristeći personalizovane klijentske akreditive
  • Drugo, pročitajte sadržaj prve TIFF slike koristeći readAllBytes(…) metodu i vratite ga u polje byte[]
  • Treće, kreirajte instancu klase UploadFileRequest u koju prosljeđujemo ime TIFF slike
  • Sada prenesite prvu TIFF sliku u pohranu u oblaku koristeći metodu uploadFile(…).
  • Sljedeći korak je specificirati TIFF indeks okvira, nove dimenzije visine i širine i određeni indeks tiff okvira
  • Sada kreirajte objekat GetImageFrameRequest gdje prosljeđujemo ulazno ime TIFF slike i gore definirana svojstva
  • Pozovite getImageFrame(…) metodu ImagingAPI klase da dobijete specificirani TIFF okvir
  • Konačno, sačuvajte izvučeni okvir na lokalni disk pomoću objekta FileOutputStream
// Preuzmite ClientID i ClientSecret sa https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// kreirati Imaging objekat
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// učitajte prvu TIFF sliku s lokalnog sistema
File file1 = new File("TiffSampleImage.tif");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// kreirajte objekt zahtjeva za upload fajla
UploadFileRequest uploadRequest = new UploadFileRequest("input.tiff",imageStream,null);
// otpremite prvu TIFF sliku u Cloud skladište
imageApi.uploadFile(uploadRequest);

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

// Rezultat uključuje samo navedeni okvir, a ne druge okvire
Boolean saveOtherFrames = false;

// Kreirajte objekt zahtjeva za izdvajanje tiff okvira na osnovu specificiranih detalja
GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest("input.tiff", frameId, newWidth, newHeight,
                    null, null, null, null, null, saveOtherFrames, null, null);

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

// Sačuvajte ekstrahovani TIFF okvir na lokalnoj memoriji
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
promijeni veličinu tiff okvira

Promjena veličine TIFF okvira za pregled

Uzorci TIFF slika korištenih u gornjem primjeru mogu se preuzeti sa TiffSampleImage.tiff.

Smanjite veličinu slike pomoću cURL komandi

Zahvaljujući REST arhitekturi API-ja, može mu se pristupiti i preko cURL komandi. Dakle, u ovom odeljku ćemo razgovarati o detaljima o tome kako smanjiti veličinu slike ili izdvojiti tiff okvir sa određenim dimenzijama, koristeći cURL komande. Sada, prvi korak je generiranje JWT pristupnog tokena (zasnovanog na vjerodajnicama klijenta) koristeći sljedeću naredbu.

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 promjenu veličine TIFF okvira.

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

Zaključak

Ovaj članak je pružio jednostavne, ali nevjerojatne detalje o tome kako promijeniti veličinu slike (TIFF) koristeći Javu. Ovaj vodič je također objasnio sve korake za promjenu veličine TIFF okvira pomoću cURL naredbi. Imajte na umu da je još jedna opcija za testiranje mogućnosti API-ja putem SwaggerUI unutar web pretraživača. Takođe, ako ste zainteresovani da izmenite izvorni kod SDK-a, možete ga preuzeti sa GitHub, pošto je objavljen pod MIT licencom.

Ipak, Dokumentacija proizvoda je nevjerovatan izvor informacija za učenje svih potrebnih detalja o drugim uzbudljivim karakteristikama API-ja. Na kraju, u slučaju da naiđete na probleme dok koristite API, možete razmisliti da nam se obratite za brzo rješenje putem besplatnog foruma za podršku proizvoda.

povezani članci

Posjetite sljedeće linkove da saznate više o: