չափափոխել Պատկերը

Չափափոխել TIFF պատկերը Java-ի միջոցով

TIFF ֆայլերի նշանավոր առանձնահատկություններից մեկը բազմաթիվ պատկերներ (յուրաքանչյուրն ունի բազմաթիվ ալիքներ) որպես հաջորդական շրջանակներ պահելու հնարավորությունն է պատկերների ժամանակային կամ z-կույտում: Այժմ այս հոդվածում մենք պատրաստվում ենք բացատրել TIFF շրջանակը հանելու, չափափոխելու և առանձին պահեստում պահելու քայլերը: Պատկերի չափափոխման առցանց գործողությունը ապահովում է նոր չափեր (լայնություն և բարձրություն)՝ պահպանելով թարմացված TIFF շրջանակը:

Չափափոխել պատկերի API-ն

Aspose.Imaging Cloud SDK for Java-ը REST-ի վրա հիմնված մեր լուծումն է, որը հնարավորություն է տալիս ծրագրային կերպով խմբագրել, մանիպուլացնել և վերափոխել ռաստերային պատկերները, մետաֆայլերը և Photoshop-ը տարբեր Աջակցվող ձևաչափերի: Այն նաև առաջարկում է TIFF պատկերների մանիպուլյացիայի հնարավորություն, որտեղ մենք կարող ենք նույնիսկ աշխատել առանձին TIFF շրջանակների վրա: Այժմ, որպեսզի սկսենք SDK-ի օգտագործումը, մենք պետք է ավելացնենք դրա հղումը Java նախագծում: Այսպիսով, խնդրում ենք ավելացնել հետևյալ մանրամասները pom.xml maven build տեսակի նախագծի մեջ:

<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-ում, խնդրում ենք ստեղծել անվճար հաշիվ՝ օգտագործելով վավեր էլ. հասցե:

Չափափոխել պատկերը առցանց Java-ում

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

  • Նախ, ստեղծեք ImagingApi-ի օբյեկտ՝ օգտագործելով անհատականացված հաճախորդի հավատարմագրերը
  • Երկրորդ, կարդացեք առաջին TIFF պատկերի բովանդակությունը readAllBytes(…) մեթոդով և վերադարձրեք այն բայթ[] զանգված:
  • Երրորդ, ստեղծեք UploadFileRequest դասի օրինակ, որտեղ մենք փոխանցում ենք TIFF պատկերի անունը
  • Այժմ վերբեռնեք առաջին TIFF պատկերը ամպային պահեստում՝ օգտագործելով uploadFile(…) մեթոդը
  • Հաջորդ քայլը պետք է նշել TIFF շրջանակի ինդեքսը, նոր բարձրության և լայնության չափերը և որոշակի 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("TiffSampleImage.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 = 400;
Integer newHeight = 600;

// Արդյունքը ներառում է միայն նշված շրջանակը, այլ ոչ այլ շրջանակներ
Boolean saveOtherFrames = false;

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

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

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

Չափափոխել TIFF շրջանակի նախադիտումը

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

Կրճատել պատկերի չափը՝ օգտագործելով cURL հրամանները

API-ի REST ճարտարապետության շնորհիվ այն կարելի է մուտք գործել նաև cURL հրամանների միջոցով: Այսպիսով, այս բաժնում մենք կքննարկենք մանրամասները, թե ինչպես կարելի է նվազեցնել պատկերի չափը կամ հանել 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/input.tiff/frames/0?newWidth=400&newHeight=600&saveOtherFrames=false" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"
-o ResizedFrame.tiff

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

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

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

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

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