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

Змініть розмір зображення 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

У цьому розділі ми збираємося використовувати API GetImageFrame для розробки нашого засобу зміни розміру зображення 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 у хмарне сховище
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, ви можете звернутися до нас за швидким вирішенням через безкоштовний форум підтримки продуктів.

Схожі статті

Перейдіть за наведеними нижче посиланнями, щоб дізнатися більше про: