змяніць памер малюнка

Змяніць памер выявы TIFF з дапамогай Java

Адной з прыкметных асаблівасцей файлаў TIFF з’яўляецца яго магчымасць захоўваць некалькі відарысаў (кожнае з якіх мае некалькі каналаў) у выглядзе паслядоўных кадраў у стэку часу або z-стэка малюнкаў. Зараз у гэтым артыкуле мы збіраемся растлумачыць крокі для здабывання кадра TIFF, змены яго памеру і захавання асобна ў сховішчы. Онлайн-аперацыя па змене памеру выявы абслугоўвае новыя памеры (шырыня і вышыня) пры захаванні абноўленага кадра TIFF.

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>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(…) і вярніце яго ў масіў 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

Змяніць памер TIFF Frame Preview

Прыклады малюнкаў 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, вы можаце звярнуцца да нас для хуткага вырашэння праблемы праз бясплатны форум падтрымкі прадукту.

Звязаныя артыкулы

Перайдзіце па наступных спасылках, каб даведацца больш пра: