baguhin ang laki ng Larawan

Baguhin ang laki ng TIFF Image gamit ang Java

Ang isa sa mga kilalang tampok ng mga file ng TIFF ay ang mga kakayahan nitong mag-imbak ng maraming larawan (bawat isa ay mayroong maraming channel) bilang mga sequential frame sa isang time-stack o z-stack ng mga imahe. Ngayon sa artikulong ito, ipapaliwanag namin ang mga hakbang sa pagkuha ng isang TIFF frame, baguhin ang laki nito at i-save ito nang hiwalay sa isang storage. Ang pagpapalit ng laki ng imahe online na operasyon ay tumutugon sa mga bagong dimensyon (lapad at taas) habang sine-save ang na-update na TIFF Frame.

Baguhin ang laki ng Image API

Ang Aspose.Imaging Cloud SDK para sa Java ay ang aming REST based na solusyon na nagbibigay-daan sa iyong i-edit, manipulahin at baguhin ang mga raster na larawan, Metafiles, at Photoshop sa iba’t ibang Mga Sinusuportahang Format. Nag-aalok din ito ng tampok na manipulahin ang mga imahe ng TIFF, kung saan maaari kaming magtrabaho sa mga indibidwal na frame ng TIFF. Ngayon, para makapagsimula sa paggamit ng SDK, kailangan nating idagdag ang reference nito sa isang proyekto ng Java. Kaya, mangyaring idagdag ang mga sumusunod na detalye sa pom.xml ng 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>

Ang susunod na hakbang ay upang makuha ang mga kredensyal ng kliyente mula sa Cloud Dashboard at kung wala kang account sa Aspose Cloud Dashboard, mangyaring lumikha ng isang libreng account gamit ang wastong email address.

Baguhin ang laki ng Larawan Online sa Java

Sa seksyong ito, gagamitin namin ang GetImageFrame API upang bumuo ng aming TIFF picture resizer. Ia-upload din namin ang larawan sa cloud storage at pagkatapos i-update ang mga parameter ng larawan, ibabalik ang binagong larawan bilang response stream. Pakitandaan na binibigyang-daan ka ng API na maramihang palitan ang laki ng mga larawan o i-resize lamang ang isang partikular na TIFF frame gamit ang saveOtherFrames na parameter.

  • Una, gumawa ng object ng ImagingApi gamit ang mga personalized na kredensyal ng kliyente
  • Pangalawa, basahin ang nilalaman ng unang imahe ng TIFF gamit ang readAllBytes(…) na paraan at ibalik ito sa byte[] array
  • Pangatlo, lumikha ng isang halimbawa ng klase ng UploadFileRequest kung saan ipinapasa namin ang pangalan ng imahe ng TIFF
  • Ngayon, i-upload ang unang TIFF na imahe sa cloud storage gamit ang uploadFile(…) na paraan
  • Ang susunod na hakbang ay tukuyin ang TIFF frame index, bagong taas at lapad na sukat at partikular na tiff frame index
  • Ngayon lumikha ng isang bagay ng GetImageFrameRequest kung saan ipinapasa namin ang input na pangalan ng imahe ng TIFF at sa itaas na tinukoy na mga katangian
  • Tawagan ang getImageFrame(…) method ng ImagingAPI class para makuha ang tinukoy na TIFF frame
  • Panghuli, i-save ang na-extract na frame sa lokal na drive gamit ang FileOutputStream object
// Kumuha ng ClientID at ClientSecret mula sa https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

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

// i-load ang unang imahe ng TIFF mula sa lokal na sistema
File file1 = new File("TiffSampleImage.tif");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// lumikha ng object ng kahilingan sa pag-upload ng file
UploadFileRequest uploadRequest = new UploadFileRequest("input.tiff",imageStream,null);
// mag-upload ng unang larawan ng TIFF sa Cloud storage
imageApi.uploadFile(uploadRequest);

Integer frameId = 0; // Frame number inside TIFF
// bagong lapad at taas ng na-extract na frame
Integer newWidth = 400;
Integer newHeight = 600;

// Resulta upang isama lamang ang tinukoy na frame hindi ang iba pang mga frame
Boolean saveOtherFrames = false;

// Lumikha ng object ng kahilingan upang kunin ang mga tiff frame batay sa mga tinukoy na detalye
GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest("input.tiff", frameId, newWidth, newHeight,
                    null, null, null, null, null, saveOtherFrames, null, null);

// ang na-extract na frame ay ibinalik sa response stream
byte[] updatedImage = imageApi.getImageFrame(getImageFrameRequest);

// I-save ang na-extract na TIFF frame sa lokal na storage
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
baguhin ang laki ng tiff frame

Baguhin ang laki ng TIFF Frame Preview

Ang mga sample na larawan ng TIFF na ginamit sa halimbawa sa itaas ay maaaring ma-download mula sa TiffSampleImage.tiff.

Bawasan ang Laki ng Imahe gamit ang Mga CURL Command

Dahil sa REST na arkitektura ng API, maaari din itong ma-access sa pamamagitan ng mga utos ng cURL. Kaya sa seksyong ito, tatalakayin natin ang mga detalye kung paano bawasan ang laki ng imahe o i-extract ang tiff frame na may mga partikular na dimensyon, gamit ang mga utos ng cURL. Ngayon, ang unang hakbang ay bumuo ng JWT access token (batay sa mga kredensyal ng kliyente) gamit ang sumusunod na command.

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"

Pagkatapos ng pagbuo ng token ng JWT, kailangan nating isagawa ang sumusunod na utos upang baguhin ang laki ng TIFF frame.

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

Konklusyon

Ang artikulong ito ay nagbigay ng simple ngunit kamangha-manghang mga detalye kung paano baguhin ang laki ng imahe (TIFF) gamit ang Java. Ipinaliwanag din ng tutorial na ito ang lahat ng mga hakbang upang baguhin ang laki ng TIFF frame gamit ang mga cURL command. Pakitandaan na ang isa pang opsyon upang subukan ang mga kakayahan ng API ay sa pamamagitan ng SwaggerUI sa loob ng isang web browser. Gayundin, kung interesado kang baguhin ang source code ng SDK, maaari itong i-download mula sa GitHub, dahil na-publish ito sa ilalim ng lisensya ng MIT.

Gayunpaman, ang Product Documentation ay isang kamangha-manghang mapagkukunan ng impormasyon upang matutunan ang lahat ng kinakailangang detalye tungkol sa iba pang kapana-panabik na feature ng API. Panghuli, kung sakaling makatagpo ka ng mga isyu habang ginagamit ang API, maaari mong isaalang-alang ang paglapit sa amin para sa mabilis na paglutas sa pamamagitan ng libreng product support forum.

Mga Kaugnay na Artikulo

Mangyaring bisitahin ang mga sumusunod na link upang matuto nang higit pa tungkol sa: