Yksi TIFF-tiedostojen näkyvistä ominaisuuksista on niiden kyky tallentaa useita kuvia (joissakin on useita kanavia) peräkkäisinä kehyksinä aikapinoon tai z-pinoon kuvia. Tässä artikkelissa selitämme vaiheet TIFF-kehyksen purkamiseksi, sen koon muuttamiseksi ja sen tallentamiseksi erikseen tallennustilaan. Verkkokuvan koon muuttaminen mahdollistaa uudet mitat (leveys ja korkeus) samalla kun se tallentaa päivitetyn TIFF-kehyksen.
Resize Image API
Aspose.Imaging Cloud SDK for Java on REST-pohjainen ratkaisumme, jonka avulla voit ohjelmallisesti muokata, käsitellä ja muuntaa rasterikuvia, metatiedostoja ja Photoshopia useisiin tuettuun muotoon. Se tarjoaa myös mahdollisuuden käsitellä TIFF-kuvia, jolloin voimme jopa työstää yksittäisiä TIFF-kehyksiä. Nyt, jotta voimme aloittaa SDK:n käytön, meidän on lisättävä sen viite Java-projektiin. Joten lisää seuraavat tiedot maven build -tyyppisen projektin pom.xml-tiedostoon.
<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>
Seuraava vaihe on hankkia asiakkaan tunnistetiedot Cloud Dashboardista. Jos sinulla ei ole tiliä Aspose Cloud Dashboardin kautta, luo ilmainen tili käyttämällä kelvollista sähköpostiosoitetta.
Muuta kuvan kokoa verkossa Javassa
Tässä osiossa aiomme käyttää GetImageFrame-sovellusliittymää TIFF-kuvan koon muuttajan kehittämiseen. Lataamme kuvan myös pilvitallennustilaan ja kuvan parametrien päivityksen jälkeen muokattu kuva palautetaan vastausvirtana. Huomaa, että API mahdollistaa kuvien koon muuttamisen tai vain tietyn TIFF-kehyksen koon muuttamisen saveOtherFrames-parametrin avulla.
- Luo ensin ImagingApi-objekti käyttämällä henkilökohtaisia asiakastunnistetietoja
- Toiseksi lue ensimmäisen TIFF-kuvan sisältö readAllBytes(…) -menetelmällä ja palauta se byte[]-taulukkoon
- Kolmanneksi luo UploadFileRequest-luokan esiintymä, jolle välitämme TIFF-kuvan nimen
- Lataa nyt ensimmäinen TIFF-kuva pilvitallennustilaan käyttämällä uploadFile(…) -menetelmää
- Seuraava vaihe on määrittää TIFF-kehysindeksi, uudet korkeus- ja leveysmitat ja tietty tiff-kehysindeksi
- Luo nyt GetImageFrameRequest-objekti, jossa välitämme syötetyn TIFF-kuvan nimen ja määritetyt ominaisuudet.
- Hae määritetty TIFF-kehys kutsumalla ImagingAPI-luokan getImageFrame(…)-metodia
- Tallenna lopuksi purettu kehys paikalliseen asemaan FileOutputStream-objektin avulla
// Hanki ClientID ja ClientSecret osoitteesta https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// luoda kuvantamisobjektia
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// lataa ensimmäinen TIFF-kuva paikallisesta järjestelmästä
File file1 = new File("TiffSampleImage.tif");
byte[] imageStream = Files.readAllBytes(file1.toPath());
// luo tiedostojen latauspyyntöobjekti
UploadFileRequest uploadRequest = new UploadFileRequest("input.tiff",imageStream,null);
// lataa ensimmäinen TIFF-kuva pilvitallennustilaan
imageApi.uploadFile(uploadRequest);
Integer frameId = 0; // Frame number inside TIFF
// irrotetun rungon uusi leveys ja korkeus
Integer newWidth = 400;
Integer newHeight = 600;
// Tulos sisältää vain määritetyn kehyksen, ei muita kehyksiä
Boolean saveOtherFrames = false;
// Luo pyyntöobjekti tiff-kehysten purkamiseksi määritettyjen tietojen perusteella
GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest("input.tiff", frameId, newWidth, newHeight,
null, null, null, null, null, saveOtherFrames, null, null);
// erotettu kehys palautetaan vastausvirrassa
byte[] updatedImage = imageApi.getImageFrame(getImageFrameRequest);
// Tallenna purettu TIFF-kehys paikalliseen tallennustilaan
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
Yllä olevassa esimerkissä käytetyt malli-TIFF-kuvat voidaan ladata osoitteesta TiffSampleImage.tiff.
Pienennä kuvan kokoa käyttämällä cURL-komentoja
API:n REST-arkkitehtuurin ansiosta siihen pääsee myös cURL-komennoilla. Joten tässä osiossa aiomme keskustella yksityiskohdista kuinka pienentää kuvan kokoa tai poimia tiff-kehys tietyillä mitoilla käyttämällä cURL-komentoja. Nyt ensimmäinen vaihe on luoda JWT-käyttöoikeustunnus (perustuu asiakkaan tunnistetietoihin) käyttämällä seuraavaa komentoa.
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"
JWT-tunnuksen luomisen jälkeen meidän on suoritettava seuraava komento muuttaaksesi TIFF-kehyksen kokoa.
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
Johtopäätös
Tässä artikkelissa on yksinkertaisia mutta hämmästyttäviä yksityiskohtia kuvan (TIFF) koon muuttamisesta Javalla. Tässä opetusohjelmassa on myös selitetty kaikki vaiheet TIFF-kehyksen koon muuttamiseen cURL-komentojen avulla. Huomaa, että toinen vaihtoehto API-ominaisuuksien testaamiseen on SwaggerUI verkkoselaimessa. Lisäksi, jos olet kiinnostunut muokkaamaan SDK:n lähdekoodia, voit ladata sen osoitteesta GitHub, koska se on julkaistu MIT-lisenssillä.
Siitä huolimatta Tuotedokumentaatio on hämmästyttävä tietolähde oppiaksesi kaikki tarvittavat tiedot sovellusliittymän muista jännittävistä ominaisuuksista. Lopuksi, jos kohtaat ongelmia sovellusliittymän käytössä, voit harkita ottamista meihin nopean ratkaisun saamiseksi ilmaisen tuotetukifoorumin kautta.
Aiheeseen liittyvät artikkelit
Saat lisätietoja seuraavista linkeistä: