TIFF ფაილების ერთ-ერთი გამორჩეული მახასიათებელია მისი შესაძლებლობები შეინახოს მრავალი სურათი (თითოეულს აქვს რამდენიმე არხი) თანმიმდევრულ ჩარჩოებად სურათების დროის დასტაში ან z-დასტაში. ახლა ამ სტატიაში ჩვენ ვაპირებთ ავხსნათ ნაბიჯები, რათა ამოიღოთ TIFF ჩარჩო, შეცვალოთ მისი ზომა და შეინახოთ იგი ცალკე მეხსიერებაში. სურათის ზომის შეცვლის ონლაინ ოპერაცია ითვალისწინებს ახალ ზომებს (სიგანე და სიმაღლე) განახლებული TIFF ჩარჩოს შენახვისას.
- სურათის ზომის შეცვლა API
- სურათის ზომის შეცვლა Java-ში ონლაინ რეჟიმში
- სურათის ზომის შემცირება cURL ბრძანებების გამოყენებით
სურათის ზომის შეცვლა API
Aspose.Imaging Cloud SDK for Java არის ჩვენი REST დაფუძნებული გადაწყვეტა, რომელიც საშუალებას გაძლევთ პროგრამულად დაარედაქტიროთ, მანიპულიროთ და გარდაქმნათ რასტრული სურათები, მეტაფაილები და Photoshop სხვადასხვა მხარდაჭერილ ფორმატებში. ის ასევე გთავაზობთ TIFF სურათების მანიპულირების ფუნქციას, სადაც შეგვიძლია ცალკეულ TIFF ჩარჩოებზეც კი ვიმუშაოთ. ახლა, იმისათვის, რომ დავიწყოთ SDK-ის გამოყენება, უნდა დავამატოთ მისი მითითება Java პროექტში. ასე რომ, გთხოვთ, დაამატოთ შემდეგი დეტალები maven build ტიპის პროექტში pom.xml.
<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 სურათის resizer-ის შესაქმნელად. ჩვენ ასევე ავტვირთავთ სურათს ღრუბლოვან საცავში და სურათის პარამეტრების განახლების შემდეგ, შეცვლილი სურათი ბრუნდება საპასუხო ნაკადში. გთხოვთ, გაითვალისწინოთ, რომ API გაძლევთ საშუალებას შეცვალოთ ფოტოების ზომა ან მხოლოდ კონკრეტული TIFF ჩარჩოს ზომის შეცვლა saveOtherFrames პარამეტრის გამოყენებით.
- პირველ რიგში, შექმენით ImagingApi-ს ობიექტი პერსონალური კლიენტის სერთიფიკატების გამოყენებით
- მეორეც, წაიკითხეთ პირველი TIFF სურათის შინაარსი readAllBytes(…) მეთოდის გამოყენებით და დააბრუნეთ ბაიტი[] მასივში.
- მესამე, შექმენით UploadFileRequest კლასის მაგალითი, სადაც გადავცემთ TIFF სურათის სახელს
- ახლა ატვირთეთ პირველი TIFF სურათი ღრუბლოვან საცავში uploadFile(…) მეთოდის გამოყენებით
- შემდეგი ნაბიჯი არის TIFF ჩარჩოს ინდექსის, ახალი სიმაღლისა და სიგანის ზომების და კონკრეტული tiff ჩარჩოს ინდექსის დაზუსტება
- ახლა შექმენით GetImageFrameRequest-ის ობიექტი, სადაც გადავცემთ შეყვანის TIFF სურათის სახელს და ზემოთ განსაზღვრულ თვისებებს.
- გამოიძახეთ ImagingAPI კლასის getImageFrame(…) მეთოდი, რომ მიიღოთ მითითებული TIFF ჩარჩო.
- და ბოლოს, შეინახეთ ამოღებული ჩარჩო ლოკალურ დისკზე 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;
// შექმენით მოთხოვნის ობიექტი, რომ ამოიღოთ tiff ჩარჩოები მითითებულ დეტალებზე დაყრდნობით
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 სურათების ნიმუშის ჩამოტვირთვა შესაძლებელია 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 ლიცენზიით.
მიუხედავად ამისა, პროდუქტის დოკუმენტაცია არის ინფორმაციის საოცარი წყარო API-ის სხვა საინტერესო ფუნქციების შესახებ ყველა საჭირო დეტალის შესასწავლად. და ბოლოს, თუ API-ს გამოყენებისას შეგექმნებათ პრობლემები, შეგიძლიათ მოგვმართოთ სწრაფი გადაწყვეტისთვის უფასო [პროდუქტის მხარდაჭერის ფორუმის] მეშვეობით 9.
დაკავშირებული სტატიები
გთხოვთ ეწვიოთ შემდეგ ბმულებს მეტი ინფორმაციისთვის: