kā iegūt tiff attēlu

Kā izvilkt attēlus no TIFF failiem

TIF TIFF ir saīsinājums vārdam Tag Image File Format, un tas ir viens no populārajiem rastra grafikas attēliem, ko plaši izmanto grafiķi, izdevējdarbība un fotogrāfi. TIFF atšķiras no JPEG, GIF un PNG, jo tas ir “nesaspiests” formāts un var uzglabāt daudz vairāk attēla datu nekā to JPEG ekvivalenti. Tagad 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ē. Tāpēc šajā rakstā mēs izpētīsim detalizētu informāciju par to, kā iegūt kadrus no vairāku kadru TIFF attēliem, izmantojot Java Cloud SDK.

TIFF attēlu apstrādes API

Mēs esam izveidojuši attēlu apstrādes API, kas piedāvā iespēju rediģēt, manipulēt un pārveidot rastru, metafailus, Photoshop un citus atbalstītos formātus dažādos failu formātos. Tagad runājot par TIFF attēlu manipulācijām, API ir ļoti spējīga apstrādāt TIFF attēlus. Tāpēc saskaņā ar šī raksta tvērumu mēs izmantosim Aspose.Imaging Cloud SDK for Java, kas ir REST API ietvars. Tātad pirmais solis, lai izmantotu tās iespējas, ir pievienot tās atsauci Java projektā, iekļaujot šādu informāciju failā pom.xml (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>

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. Tagad piesakieties, izmantojot jaunizveidoto kontu, un uzmeklējiet/izveidojiet klienta ID un klienta noslēpumu Aspose Cloud Dashboard.

Kā izvilkt TIFF attēlu Java

Izpētīsim detalizētu informāciju par to, kā iegūt attēlus no tiff failiem, izmantojot Java koda fragmentu. Lūdzu, ņemiet vērā, ka API ļauj arī mainīt izvilktā rāmja izmēru, apgriezt un pagriezt. Turklāt viens no Būla parametriem saveOtherFrames ļauj norādīt, vai rezultāts ietvers visus pārējos kadrus vai tikai noteiktu kadru.

  • Pirmkārt, izveidojiet ImagingApi objektu, pamatojoties uz personalizētiem klienta akreditācijas datiem
  • Otrkārt, izlasiet pirmā TIFF attēla saturu, izmantojot metodi readAllBytes (…) un pārejiet uz baitu [] masīvu
  • Treškārt, izveidojiet UploadFileRequest klases gadījumu, kurā mēs norādām TIFF nosaukumu mākoņkrātuvē.
  • 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, izvilktā rāmja augstumu un platumu, izvilkšanas izcelsmi un norādīt, vai vēlaties izvilkt rāmi konkrētā eņģelī.
  • Tagad izveidojiet GetImageFrameRequest objektu, kur mēs norādām ievades TIFF attēlu un augstāk definētos rekvizītus
  • Izsauciet ImagingAPI metodi getImageFrame(…), lai iegūtu TIFF rāmi
  • 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ēlveidošanas objektu
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// ielādējiet pirmo TIFF attēlu no vietējās sistēmas
File file1 = new File("DeskewSampleImage.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 = 1000;
Integer newHeight = 1400;

// izcelsme, lai sāktu kadra izvilkšanu
Integer x = 10;
Integer y = 10;

// taisnstūra apgabals, lai izvilktu rāmi
Integer rectWidth = 900;
Integer rectHeight = 800;

// norādiet izvilktā TIFF kadra pagriešanas leņķi
String rotateFlipMethod = "Rotate90FlipY";
// 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,
                    x, y, rectWidth, rectHeight, 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/s4/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
izvilkt tiff rāmi

Iegūstiet TIFF rāmju priekšskatījumu

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

TIFF attēlu apstrāde, izmantojot cURL komandas

Vēl viens ērts veids, kā piekļūt REST API, ir cURL komandas. Tā kā Aspose.Imaging Cloud pamatā ir REST arhitektūra, mēs varam arī iegūt tiff attēlu kadrus, izmantojot cURL komandas. Tagad šīs darbības priekšnoteikums ir JWT piekļuves marķiera ģenerēšana (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 iegūtu TIFF attēlu rāmi.

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/first.tiff/frames/0?newWidth=1000&newHeight=1200&x=10&y=10&rectWidth=800&rectHeight=800&saveOtherFrames=false" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o ExtractedFrame.tiff

Secinājums

Šobrīd mēs esam iemācījušies visu nepieciešamo informāciju par to, kā iegūt attēlus no tiff failiem. Mēs esam izpētījuši iespēju iegūt TIFF rāmi, izmantojot Java Java koda fragmentu vai cURL komandas. Vēl viena pieeja daudzsološo API funkciju pārbaudei ir, izmantojot SwaggerUI, un, ja vēlaties modificēt SDK avota kodu, varat to lejupielādēt no GitHub (visi mūsu mākoņa SDK ir izstrādāti saskaņā ar MIT. licence).

Tomēr Produkta dokumentācija ir lielisks informācijas avots, lai uzzinātu par citām aizraujošām funkcijām, ko piedāvā API. Visbeidzot, ja saskaraties ar kādām problēmām API lietošanas laikā, varat vērsties pie mums, lai ātri atrisinātu, izmantojot bezmaksas produktu atbalsta forums.

Saistītie raksti

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