ինչպես հանել tiff պատկերը

Ինչպես հանել պատկերները TIFF ֆայլերից

TIF-ի TIFF-ը Tag Image File Format-ի հապավումն է և այն հայտնի ռաստերային գրաֆիկական պատկերներից է, որը լայնորեն օգտագործվում է գրաֆիկական նկարիչների, հրատարակչական արդյունաբերության և լուսանկարիչների կողմից: TIFF-ը տարբերվում է JPEG-ից, GIF-ից և PNG-ից, քանի որ այն «չսեղմված» ձևաչափ է և կարող է շատ ավելի շատ պատկերի տվյալներ պահել, քան իրենց JPEG-ի նմանակները: Այժմ TIFF ֆայլերի նշանավոր առանձնահատկություններից մեկը բազմաթիվ պատկերներ (յուրաքանչյուրն ունի բազմաթիվ ալիքներ) որպես հաջորդական շրջանակներ պահելու հնարավորությունն է պատկերների ժամանակային կամ z-կույտում: Այսպիսով, այս հոդվածում մենք պատրաստվում ենք ուսումնասիրել մանրամասները, թե ինչպես կարելի է շրջանակներ հանել բազմաֆունկցիոնալ TIFF պատկերներից՝ օգտագործելով Java Cloud SDK:

TIFF Պատկերների մշակման API

Մենք ստեղծել ենք պատկերների մշակման API, որն առաջարկում է ռաստեր, մետաֆայլեր, ֆոտոշոփ և այլ Աջակցվող ձևաչափեր խմբագրելու, մանիպուլյացիայի ենթարկելու և փոխակերպելու տարբեր ֆայլերի ձևաչափեր: Այժմ, երբ խոսում ենք TIFF պատկերի մանիպուլյացիայի մասին, API-ն շատ ունակ է մշակել TIFF պատկերները: Այսպիսով, ըստ այս հոդվածի շրջանակի, մենք պատրաստվում ենք օգտագործել Aspose.Imaging Cloud SDK for Java, որը փաթաթված է REST API-ի շուրջ: Այսպիսով, դրա հնարավորություններն օգտագործելու առաջին քայլը դրա հղումն ավելացնելն է java նախագծում՝ ներառելով հետևյալ տեղեկատվությունը 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>

Հաջորդ քայլը հաճախորդի հավատարմագրերի տվյալները ստանալն է Cloud Dashboard-ից, և եթե դուք չունեք հաշիվ Aspose Cloud Dashboard-ում, խնդրում ենք ստեղծել անվճար հաշիվ վավեր էլ. հասցեի միջոցով: Այժմ մուտք գործեք՝ օգտագործելով նորաստեղծ հաշիվը և փնտրեք/ստեղծեք Հաճախորդի ID-ն և Հաճախորդի գաղտնիքը Aspose Cloud Dashboard-ում:

Ինչպես հանել TIFF պատկերը Java-ում

Եկեք ուսումնասիրենք մանրամասները, թե ինչպես կարելի է նկարներ հանել tiff ֆայլերից՝ օգտագործելով Java կոդի հատվածը: Խնդրում ենք նկատի ունենալ, որ API-ն նաև թույլ է տալիս չափափոխել, կտրել և պտտել արդյունահանված շրջանակը: Ավելին, saveOtherFrames-ի բուլյան պարամետրերից մեկը թույլ է տալիս ճշտել՝ արդյունքը կներառի բոլոր մյուս շրջանակները, թե պարզապես նշված շրջանակը:

  • Նախ, ստեղծեք ImagingApi-ի օբյեկտ՝ հիմնված անհատականացված հաճախորդի հավատարմագրերի վրա
  • Երկրորդ, կարդացեք առաջին TIFF պատկերի բովանդակությունը readAllBytes(…) մեթոդով և անցեք բայթ[] զանգվածին
  • Երրորդ, ստեղծեք UploadFileRequest դասի օրինակ, որտեղ մենք նշում ենք TIFF-ի անունը Cloud պահեստավորման միջոցով
  • Այժմ վերբեռնեք առաջին TIFF պատկերը ամպային պահեստում՝ օգտագործելով uploadFile(…) մեթոդը
  • Հաջորդ քայլը պետք է նշել TIFF շրջանակի ինդեքսը, արդյունահանված շրջանակի բարձրությունը և լայնությունը, արդյունահանման ծագումը և նշել, թե արդյոք ցանկանում եք արդյունահանված շրջանակը, մասնավորապես, հրեշտակին:
  • Այժմ ստեղծեք GetImageFrameRequest-ի օբյեկտ, որտեղ մենք նշում ենք մուտքային TIFF պատկերը և վերը նշված հատկությունները
  • TIFF շրջանակ ստանալու համար զանգահարեք ImagingAPI-ի getImageFrame(…) մեթոդը
  • Պահեք արդյունահանված շրջանակը տեղական սկավառակում՝ օգտագործելով FileOutputStream օբյեկտը
// Ստացեք ClientID-ը և ClientSecret-ը https://dashboard.aspose.cloud/-ից
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// ստեղծել Պատկերային օբյեկտ
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// բեռնել առաջին TIFF պատկերը տեղական համակարգից
File file1 = new File("DeskewSampleImage.tif");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// ստեղծել ֆայլի վերբեռնման հարցման օբյեկտ
UploadFileRequest uploadRequest = new UploadFileRequest("input.tiff",imageStream,null);
// վերբեռնեք առաջին TIFF պատկերը Cloud պահեստում
imageApi.uploadFile(uploadRequest);

Integer frameId = 0; // Frame number inside TIFF
// արդյունահանված շրջանակի նոր լայնություն և բարձրություն
Integer newWidth = 1000;
Integer newHeight = 1400;

// ծագումը՝ շրջանակի արդյունահանումը սկսելու համար
Integer x = 10;
Integer y = 10;

// ուղղանկյուն շրջան՝ շրջանակ հանելու համար
Integer rectWidth = 900;
Integer rectHeight = 800;

// նշեք արդյունահանված TIFF շրջանակի պտտման անկյունը
String rotateFlipMethod = "Rotate90FlipY";
// Արդյունքը ներառում է միայն նշված շրջանակը, այլ ոչ այլ շրջանակներ
Boolean saveOtherFrames = false;

// Ստեղծեք հարցման օբյեկտ՝ նշված մանրամասների հիման վրա տիֆ շրջանակներ հանելու համար
GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest("input.tiff", frameId, newWidth, newHeight,
                    x, y, rectWidth, rectHeight, null, saveOtherFrames, null, null);

// արդյունահանված շրջանակը վերադարձվում է պատասխան հոսքով
byte[] updatedImage = imageApi.getImageFrame(getImageFrameRequest);

// Պահպանեք արդյունահանված TIFF շրջանակը տեղական պահեստում
FileOutputStream fos = new FileOutputStream("/Users/s4/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
քաղվածք tiff շրջանակ

Ստացեք TIFF շրջանակների նախադիտում

Վերոնշյալ օրինակում օգտագործված TIFF պատկերների նմուշները կարելի է ներբեռնել DeskewSampleImage.tif-ից:

TIFF Պատկերի մշակում՝ օգտագործելով cURL հրամանները

REST API-ներ մուտք գործելու մեկ այլ հարմար միջոց է cURL հրամանների միջոցով: Քանի որ Aspose.Imaging Cloud-ը հիմնված է REST ճարտարապետության վրա, ուստի մենք կարող ենք նաև հանել tiff պատկերների շրջանակները՝ օգտագործելով cURL հրամանները: Այժմ այս գործունեության նախապայմանն է ստեղծել JWT մուտքի նշան (հիմնված հաճախորդի հավատարմագրերի վրա)՝ օգտագործելով հետևյալ հրամանը:

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 նշանի արտադրությունից հետո մենք պետք է կատարենք հետևյալ հրամանը՝ TIFF պատկերների շրջանակը հանելու համար:

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

Եզրակացություն

Այս պահին մենք սովորել ենք բոլոր անհրաժեշտ մանրամասները, թե ինչպես կարելի է պատկերներ հանել tiff ֆայլերից: Մենք ուսումնասիրել ենք TIFF շրջանակը հանելու տարբերակը՝ օգտագործելով Java Java կոդի հատվածը կամ cURL հրամանների միջոցով: API-ի խոստումնալից առանձնահատկությունները փորձարկելու մեկ այլ մոտեցում է SwaggerUI-ի միջոցով, և եթե ցանկանում եք փոփոխել SDK-ի սկզբնական կոդը, կարող եք ներբեռնել GitHub-ից (մեր բոլոր Cloud SDK-ները մշակված են MIT-ի ներքո: լիցենզիա):

Այնուամենայնիվ, Product Documentation-ը տեղեկատվության զարմանալի աղբյուր է API-ի կողմից առաջարկվող այլ հետաքրքիր առանձնահատկությունների մասին իմանալու համար: Վերջապես, եթե API-ն օգտագործելիս որևէ խնդիր հանդիպեք, կարող եք դիմել մեզ՝ անվճար լուծելու համար: արտադրանքի աջակցության ֆորում:

Առնչվող հոդվածներ

Խնդրում ենք այցելել հետևյալ հղումները՝ ավելին իմանալու համար.