Една от забележителните характеристики на 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>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";
// създайте обект за изображения
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 изображения, използвани в горния пример, могат да бъдат изтеглени от 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, може да обмислите да се свържете с нас за бързо разрешаване чрез безплатния форум за поддръжка на продукти.
Свързани статии
Моля, посетете следните връзки, за да научите повече за: