kaip išgauti tiff vaizdą

Kaip išgauti vaizdus iš TIFF failų

TIF TIFF yra žymos vaizdo failo formato santrumpa ir yra vienas iš populiariausių rastrinės grafikos vaizdų, plačiai naudojamų grafikų, leidybos pramonės ir fotografų. TIFF skiriasi nuo JPEG, GIF ir PNG, nes tai yra „nesuspaustas“ formatas ir gali saugoti daug daugiau vaizdo duomenų nei JPEG atitikmenys. Dabar viena iš svarbiausių TIFF failų savybių yra galimybė saugoti kelis vaizdus (kiekvienas turi kelis kanalus) kaip nuoseklius kadrus laiko arba z vaizdų krūvoje. Taigi šiame straipsnyje mes išnagrinėsime išsamią informaciją apie tai, kaip išgauti kadrus iš kelių kadrų TIFF vaizdų naudojant Java Cloud SDK.

TIFF vaizdo apdorojimo API

Sukūrėme vaizdo apdorojimo API, suteikiančią galimybę redaguoti, valdyti ir transformuoti rastrinius, metafailus, Photoshop ir kitus palaikomus formatus į įvairius failų formatus. Dabar kalbant apie TIFF vaizdo manipuliavimą, API labai gali apdoroti TIFF vaizdus. Taigi, atsižvelgdami į šio straipsnio apimtį, naudosime Aspose.Imaging Cloud SDK, skirtą Java, kuri yra REST API įvyniojimas. Taigi pirmasis žingsnis siekiant panaudoti jos galimybes yra įtraukti jo nuorodą į java projektą įtraukiant šią informaciją į pom.xml (maven build tipo projektas).

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

Kitas veiksmas – gauti išsamią kliento kredencialų informaciją iš Cloud Dashboard ir, jei neturite Aspose Cloud Dashboard paskyros, sukurkite nemokamą paskyrą naudodami galiojantį el. pašto adresą. Dabar prisijunkite naudodami naujai sukurtą paskyrą ir ieškokite / sukurkite kliento ID ir kliento paslaptį „Aspose Cloud Dashboard“.

Kaip išgauti TIFF vaizdą Java

Išnagrinėkime išsamią informaciją, kaip išgauti vaizdus iš tiff failų naudojant „Java“ kodo fragmentą. Atminkite, kad API taip pat leidžia keisti ištraukto rėmelio dydį, apkarpyti ir pasukti. Be to, vienas iš loginių parametrų saveOtherFrames leidžia nurodyti, ar rezultate bus visi kiti kadrai, ar tik nurodytas kadras.

  • Pirma, sukurkite „ImagingApi“ objektą, pagrįstą suasmenintais kliento kredencialais
  • Antra, perskaitykite pirmojo TIFF vaizdo turinį naudodami readAllBytes (…) metodą ir perkelkite į baitų [] masyvą
  • Trečia, sukurkite UploadFileRequest klasės egzempliorių, kuriame nurodysime TIFF per debesies saugyklą pavadinimą
  • Dabar įkelkite pirmąjį TIFF vaizdą į debesies saugyklą naudodami „uploadFile“ (…) metodą
  • Kitas veiksmas yra nurodyti TIFF kadro indeksą, ištraukto rėmelio aukštį ir plotį, ištraukimo kilmę ir nurodyti, ar norite, kad ištrauktas kadras būtų konkretus angelas.
  • Dabar sukurkite GetImageFrameRequest objektą, kuriame nurodysime įvesties TIFF vaizdą ir aukščiau apibrėžtas ypatybes
  • Norėdami gauti TIFF kadrą, iškvieskite ImagingAPI metodą getImageFrame(…).
  • Išsaugokite ištrauktą kadrą vietiniame diske naudodami objektą FileOutputStream
// Gaukite ClientID ir ClientSecret iš https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// sukurti vaizdo objektą
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// įkelkite pirmąjį TIFF vaizdą iš vietinės sistemos
File file1 = new File("DeskewSampleImage.tif");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// sukurti failo įkėlimo užklausos objektą
UploadFileRequest uploadRequest = new UploadFileRequest("input.tiff",imageStream,null);
// įkelkite pirmąjį TIFF vaizdą į saugyklą debesyje
imageApi.uploadFile(uploadRequest);

Integer frameId = 0; // Frame number inside TIFF
// naujas ištraukto rėmo plotis ir aukštis
Integer newWidth = 1000;
Integer newHeight = 1400;

// pradžią, kad būtų pradėtas rėmo ištraukimas
Integer x = 10;
Integer y = 10;

// stačiakampė sritis rėmui ištraukti
Integer rectWidth = 900;
Integer rectHeight = 800;

// nurodykite ištraukto TIFF rėmelio pasukimo kampą
String rotateFlipMethod = "Rotate90FlipY";
// Rezultatas apima tik nurodytą kadrą, o ne kitus kadrus
Boolean saveOtherFrames = false;

// Sukurkite užklausos objektą, kad ištrauktumėte tiff kadrus pagal nurodytą informaciją
GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest("input.tiff", frameId, newWidth, newHeight,
                    x, y, rectWidth, rectHeight, null, saveOtherFrames, null, null);

// ištrauktas kadras grąžinamas atsakymo sraute
byte[] updatedImage = imageApi.getImageFrame(getImageFrameRequest);

// Išsaugokite ištrauktą TIFF rėmelį vietinėje saugykloje
FileOutputStream fos = new FileOutputStream("/Users/s4/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
ištraukite tiff rėmą

Gaukite TIFF rėmelių peržiūrą

Ankstesniame pavyzdyje naudotus TIFF vaizdų pavyzdžius galima atsisiųsti iš DeskewSampleImage.tif.

TIFF vaizdo apdorojimas naudojant cURL komandas

Kitas patogus būdas pasiekti REST API yra cURL komandos. Kadangi „Aspose.Imaging Cloud“ yra pagrįsta REST architektūra, mes taip pat galime išgauti tiff vaizdų rėmelius naudodami cURL komandas. Dabar būtina šios veiklos sąlyga yra sugeneruoti JWT prieigos raktą (pagal kliento kredencialus) naudojant šią komandą.

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"

Po JWT prieigos rakto generavimo turime vykdyti šią komandą, kad ištrauktume TIFF vaizdų rėmelį.

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

Išvada

Šiuo metu mes sužinojome visą reikalingą informaciją, kaip išgauti vaizdus iš tiff failų. Išnagrinėjome galimybę išgauti TIFF rėmelį naudojant Java Java kodo fragmentą arba cURL komandas. Kitas būdas išbandyti perspektyvias API funkcijas yra per SwaggerUI ir, jei norite pakeisti SDK šaltinio kodą, galite atsisiųsti iš GitHub (visi mūsų debesies SDK sukurti pagal MIT licencija).

Nepaisant to, Produkto dokumentacija yra nuostabus informacijos šaltinis norint sužinoti apie kitas įdomias API siūlomas funkcijas. Galiausiai, jei susidūrėte su problemomis naudodamiesi API, galite susisiekti su mumis dėl greito sprendimo per nemokamą produkto palaikymo forumas.

susiję straipsniai

Norėdami sužinoti daugiau apie tai, apsilankykite šiose nuorodose: