TIF-ի TIFF-ը Tag Image File Format-ի հապավումն է և այն հայտնի ռաստերային գրաֆիկական պատկերներից է, որը լայնորեն օգտագործվում է գրաֆիկական նկարիչների, հրատարակչական արդյունաբերության և լուսանկարիչների կողմից: TIFF-ը տարբերվում է JPEG-ից, GIF-ից և PNG-ից, քանի որ այն «չսեղմված» ձևաչափ է և կարող է շատ ավելի շատ պատկերի տվյալներ պահել, քան իրենց JPEG-ի նմանակները: Այժմ TIFF ֆայլերի նշանավոր առանձնահատկություններից մեկը բազմաթիվ պատկերներ (յուրաքանչյուրն ունի բազմաթիվ ալիքներ) որպես հաջորդական շրջանակներ պահելու հնարավորությունն է պատկերների ժամանակային կամ z-կույտում: Այսպիսով, այս հոդվածում մենք պատրաստվում ենք ուսումնասիրել մանրամասները, թե ինչպես կարելի է շրջանակներ հանել բազմաֆունկցիոնալ TIFF պատկերներից՝ օգտագործելով Java Cloud SDK:
- TIFF Պատկերների մշակման API
- Ինչպես հանել TIFF պատկերը Java-ում
- TIFF Պատկերի մշակում՝ օգտագործելով cURL հրամանները
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 պատկերների նմուշները կարելի է ներբեռնել 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-ն օգտագործելիս որևէ խնդիր հանդիպեք, կարող եք դիմել մեզ՝ անվճար լուծելու համար: արտադրանքի աջակցության ֆորում:
Առնչվող հոդվածներ
Խնդրում ենք այցելել հետևյալ հղումները՝ ավելին իմանալու համար.