mainīt attēla izmēru

Mainiet TIFF attēla izmērus, izmantojot Java

Viena no ievērojamākajām TIFF failu iezīmēm ir tā spēja saglabāt vairākus attēlus (katram ir vairāki kanāli) kā secīgus kadrus laika vai z veida attēlu kaudzē. Tagad šajā rakstā mēs izskaidrosim darbības, kas jāveic, lai izvilktu TIFF rāmi, mainītu tā izmēru un saglabātu to atsevišķi krātuvē. Tiešsaistes attēla izmēra maiņas darbība nodrošina jaunus izmērus (platumu un augstumu), vienlaikus saglabājot atjaunināto TIFF rāmi.

Mainīt attēla API izmērus

Aspose.Imaging Cloud SDK for Java ir uz REST balstīts risinājums, kas ļauj programmatiski rediģēt, manipulēt un pārveidot rastra attēlus, metafailus un Photoshop dažādos atbalstītos formātos. Tā piedāvā arī iespēju manipulēt ar TIFF attēliem, kur mēs pat varam strādāt ar atsevišķiem TIFF kadriem. Tagad, lai sāktu izmantot SDK, mums ir jāpievieno tā atsauce Java projektā. Tāpēc, lūdzu, pievienojiet tālāk norādīto informāciju maven build tipa projekta pom.xml.

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

Nākamā darbība ir klienta akreditācijas datu iegūšana no Cloud Dashboard un, ja jums nav konta, izmantojot Aspose Cloud Dashboard, lūdzu, izveidojiet bezmaksas kontu, izmantojot derīgu e-pasta adresi.

Mainiet attēla izmēru tiešsaistē Java

Šajā sadaļā mēs izmantosim GetImageFrame API, lai izstrādātu TIFF attēla izmēru mainītāju. Mēs arī augšupielādēsim attēlu mākoņa krātuvē un pēc attēla parametru atjaunināšanas modificētais attēls tiek atgriezts atbildes straumē. Lūdzu, ņemiet vērā, ka API ļauj masveidā mainīt fotoattēlu izmērus vai mainīt tikai noteikta TIFF kadra izmēru, izmantojot parametru saveOtherFrames.

  • Pirmkārt, izveidojiet ImagingApi objektu, izmantojot personalizētus klienta akreditācijas datus
  • Otrkārt, izlasiet pirmā TIFF attēla saturu, izmantojot metodi readAllBytes (…) un atgrieziet to baitu [] masīvā.
  • Treškārt, izveidojiet UploadFileRequest klases gadījumu, kurā mēs nododam TIFF attēla nosaukumu
  • Tagad augšupielādējiet pirmo TIFF attēlu mākoņa krātuvē, izmantojot metodi uploadFile (…).
  • Nākamais solis ir norādīt TIFF kadra indeksu, jaunus augstuma un platuma izmērus un konkrētu tiff kadra indeksu
  • Tagad izveidojiet GetImageFrameRequest objektu, kurā mēs nododam ievades TIFF attēla nosaukumu un augstāk norādītos rekvizītus
  • Izsauciet ImagingAPI klases metodi getImageFrame(…), lai iegūtu norādīto TIFF rāmi
  • Visbeidzot, saglabājiet izvilkto rāmi vietējā diskdzinī, izmantojot FileOutputStream objektu
// Iegūstiet ClientID un ClientSecret no https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// izveidot attēlu objektu
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// ielādējiet pirmo TIFF attēlu no vietējās sistēmas
File file1 = new File("TiffSampleImage.tif");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// izveidot failu augšupielādes pieprasījuma objektu
UploadFileRequest uploadRequest = new UploadFileRequest("input.tiff",imageStream,null);
// augšupielādējiet pirmo TIFF attēlu mākoņkrātuvē
imageApi.uploadFile(uploadRequest);

Integer frameId = 0; // Frame number inside TIFF
// jauns izvilktā rāmja platums un augstums
Integer newWidth = 400;
Integer newHeight = 600;

// Rezultātā tiks iekļauts tikai norādītais rāmis, nevis citi kadri
Boolean saveOtherFrames = false;

// Izveidojiet pieprasījuma objektu, lai iegūtu tiff kadrus, pamatojoties uz norādīto informāciju
GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest("input.tiff", frameId, newWidth, newHeight,
                    null, null, null, null, null, saveOtherFrames, null, null);

// izvilktais kadrs tiek atgriezts atbildes straumē
byte[] updatedImage = imageApi.getImageFrame(getImageFrameRequest);

// Saglabājiet izvilkto TIFF rāmi vietējā krātuvē
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
mainiet tiff rāmja izmērus

Mainiet TIFF rāmja priekšskatījuma izmērus

Iepriekš minētajā piemērā izmantotos TIFF attēlu paraugus var lejupielādēt no vietnes TiffSampleImage.tiff.

Samaziniet attēla izmēru, izmantojot cURL komandas

Pateicoties API REST arhitektūrai, tai var piekļūt arī, izmantojot cURL komandas. Tāpēc šajā sadaļā mēs apspriedīsim detalizētu informāciju par to, kā samazināt attēla izmēru vai iegūt tiff rāmi ar noteiktiem izmēriem, izmantojot cURL komandas. Tagad pirmais solis ir ģenerēt JWT piekļuves pilnvaru (pamatojoties uz klienta akreditācijas datiem), izmantojot šo komandu.

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"

Pēc JWT marķiera ģenerēšanas mums ir jāizpilda šāda komanda, lai mainītu TIFF kadra izmēru.

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

Secinājums

Šajā rakstā ir sniegta vienkārša, bet pārsteidzoša informācija par attēla (TIFF) izmēra maiņu, izmantojot Java. Šajā apmācībā ir arī izskaidrotas visas darbības, lai mainītu TIFF rāmja izmērus, izmantojot cURL komandas. Lūdzu, ņemiet vērā, ka cita iespēja pārbaudīt API iespējas ir tīmekļa pārlūkprogrammā, izmantojot SwaggerUI. Turklāt, ja vēlaties modificēt SDK pirmkodu, to var lejupielādēt no GitHub, jo tas ir publicēts saskaņā ar MIT licenci.

Tomēr Produkta dokumentācija ir lielisks informācijas avots, lai uzzinātu visu nepieciešamo informāciju par citām aizraujošām API funkcijām. Visbeidzot, ja API lietošanas laikā rodas problēmas, varat vērsties pie mums, lai ātri atrisinātu problēmu, izmantojot bezmaksas produktu atbalsta forumu.

Saistītie raksti

Lūdzu, apmeklējiet šīs saites, lai uzzinātu vairāk par: