Адной з прыкметных асаблівасцей файлаў TIFF з’яўляецца яго магчымасць захоўваць некалькі відарысаў (кожнае з якіх мае некалькі каналаў) у выглядзе паслядоўных кадраў у стэку часу або z-стэка малюнкаў. Зараз у гэтым артыкуле мы збіраемся растлумачыць крокі для здабывання кадра TIFF, змены яго памеру і захавання асобна ў сховішчы. Онлайн-аперацыя па змене памеру выявы абслугоўвае новыя памеры (шырыня і вышыня) пры захаванні абноўленага кадра TIFF.
- API змены памеру выявы
- Змяніць памер выявы ў Інтэрнэце ў Java
- Паменшыце памер выявы з дапамогай каманд cURL
API змены памеру выявы
Aspose.Imaging Cloud SDK для Java - гэта наша рашэнне на аснове REST, якое дазваляе праграмна рэдагаваць, маніпуляваць і трансфармаваць растравыя выявы, метафайлы і Photoshop у розныя падтрымоўваныя фарматы. Ён таксама прапануе магчымасць маніпуляваць выявамі TIFF, дзе мы нават можам працаваць над асобнымі кадрамі TIFF. Цяпер, каб пачаць выкарыстоўваць SDK, нам трэба дадаць яго спасылку ў праект Java. Такім чынам, калі ласка, дадайце наступныя дэталі ў pom.xml праекта тыпу зборкі Maven.
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>https://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(…) і вярніце яго ў масіў byte[]
- Па-трэцяе, стварыце асобнік класа UploadFileRequest, у які мы перадаем назву выявы TIFF
- Цяпер загрузіце першую выяву TIFF у воблачнае сховішча з дапамогай метаду uploadFile(…).
- Наступны крок - указаць індэкс кадра TIFF, новыя памеры вышыні і шырыні і канкрэтны індэкс кадра TIFF
- Цяпер стварыце аб’ект GetImageFrameRequest, у які мы перадаем назву выявы TIFF і вызначаныя вышэй уласцівасці
- Выклічце метад getImageFrame(…) класа ImagingAPI, каб атрымаць указаны кадр TIFF
- Нарэшце, захавайце выняты кадр на лакальны дыск з дапамогай аб’екта FileOutputStream
// Атрымайце ClientID і ClientSecret з https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// стварыць аб'ект Imaging
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 у воблачнае сховішча
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
Дзякуючы архітэктуры REST API, да яго таксама можна атрымаць доступ праз каманды 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, вы можаце звярнуцца да нас для хуткага вырашэння праблемы праз бясплатны форум падтрымкі прадукту.
Звязаныя артыкулы
Перайдзіце па наступных спасылках, каб даведацца больш пра: