promjena veličine slike

Promjena veličine TIFF slike pomoću Jave

Jedna od istaknutih značajki TIFF datoteka je njezina sposobnost pohranjivanja više slika (svaka ima više kanala) kao sekvencijalnih okvira u vremenskom ili z-skupu slika. Sada ćemo u ovom članku objasniti korake za izdvajanje TIFF okvira, promjenu njegove veličine i zasebno spremanje na pohranu. Mrežna operacija promjene veličine slike zadovoljava nove dimenzije (širinu i visinu) dok sprema ažurirani TIFF okvir.

API za promjenu veličine slike

Aspose.Imaging Cloud SDK za Javu naše je rješenje temeljeno na REST-u koje vam omogućuje programsko uređivanje, manipuliranje i transformaciju rasterskih slika, metadatoteka i Photoshopa u razne podržane formate. Također nudi značajku za manipuliranje TIFF slikama, gdje čak možemo raditi na pojedinačnim TIFF okvirima. Sada, kako bismo započeli s korištenjem SDK-a, moramo dodati njegovu referencu u Java projekt. Dakle, dodajte sljedeće detalje u pom.xml projekta maven build type.

<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 vjerodajnica klijenta s Cloud Dashboard, a ako nemate račun na Aspose Cloud Dashboard, izradite besplatni račun koristeći valjanu adresu e-pošte.

Promjena veličine slike na mreži u Javi

U ovom ćemo odjeljku upotrijebiti GetImageFrame API za razvoj našeg alata za promjenu veličine TIFF slike. Također ćemo prenijeti sliku u pohranu u oblaku i nakon ažuriranja parametara slike, modificirana slika se vraća u toku odgovora. Imajte na umu da vam API omogućuje skupnu promjenu veličine fotografija ili veličinu samo određenog TIFF okvira pomoću parametra saveOtherFrames.

  • Prvo, stvorite objekt ImagingApi koristeći personalizirane vjerodajnice klijenta
  • Drugo, pročitajte sadržaj prve TIFF slike pomoću metode readAllBytes(…) i vratite ga u polje byte[]
  • Treće, kreirajte instancu klase UploadFileRequest kojoj prosljeđujemo naziv TIFF slike
  • Sada prenesite prvu TIFF sliku u pohranu u oblaku pomoću metode uploadFile(…).
  • Sljedeći korak je određivanje indeksa TIFF okvira, novih dimenzija visine i širine i posebnog indeksa okvira TIFF
  • Sada stvorite objekt GetImageFrameRequest gdje prosljeđujemo ulazni naziv TIFF slike i gore definirana svojstva
  • Pozovite metodu getImageFrame(…) klase ImagingAPI da biste dobili navedeni TIFF okvir
  • Na kraju, spremite izdvojeni okvir na lokalni disk pomoću FileOutputStream objekta
// 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("TiffSampleImage.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 = 400;
Integer newHeight = 600;

// 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,
                    null, null, null, null, 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/nayyer/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
promijeniti veličinu tiff okvira

Promjena veličine TIFF okvira Pregled

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

Smanjite veličinu slike pomoću cURL naredbi

Zahvaljujući REST arhitekturi API-ja, može mu se pristupiti i putem cURL naredbi. Stoga ćemo u ovom odjeljku raspravljati o pojedinostima o tome kako smanjiti veličinu slike ili izdvojiti tiff okvir s određenim dimenzijama, koristeći cURL naredbe. Sada je prvi korak 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 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 pruža jednostavne, ali nevjerojatne detalje o tome kako promijeniti veličinu slike (TIFF) pomoću Jave. Ovaj vodič također objašnjava sve korake za promjenu veličine TIFF okvira pomoću cURL naredbi. Imajte na umu da je još jedna opcija za testiranje API mogućnosti putem SwaggerUI unutar web preglednika. Također, ako ste zainteresirani za izmjenu izvornog koda SDK-a, možete ga preuzeti s GitHub, jer je objavljen pod licencom MIT-a.

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

povezani članci

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