преоразмеряване на изображението

Преоразмерете 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>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";

// създайте обект за изображения
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 storage
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 рамка

Примерните 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, може да обмислите да се свържете с нас за бързо разрешаване чрез безплатния форум за поддръжка на продукти.

Свързани статии

Моля, посетете следните връзки, за да научите повече за: