Формат TIFF(Tag Image File Format) широко використовується в публікаціях, графічному дизайні та фотографії завдяки своїй здатності зберігати високоякісну растрову графіку. На відміну від JPEG або PNG, файл TIFF може містити кілька зображень або кадрів в одному файлі. Ці багатокадрові зображення TIFF часто використовуються в медичній візуалізації, сканованих документах та шарових дизайнах.

API обробки зображень

Aspose.Imaging Cloud SDK for .NET є чудовим API, заснованим на архітектурі REST, який пропонує можливості маніпулювати та обробляти зображення онлайн. Він пропонує простий і зручний підхід для витягування кадру tiff з багатокадрового TIFF зображення в коді C# .NET. SDK доступний для завантаження з NuGet та GitHub. Тепер встановіть REST API, щоб почати маніпулювати TIFF та іншими форматами зображень.

Install-Package Aspose.Imaging-Cloud

Отримайте свій Client ID та Client Secret з Aspose Cloud dashboard.

Витягнення кадрів TIFF за допомогою C#

Цей розділ пояснює деталі того, як ми можемо легко витягувати TIFF кадри, використовуючи C# .NET.

  • По-перше, створіть об’єкт ImagingApi, надавши ClientID та ClientSecret як аргументи.
  • По-друге, створіть об’єкт GetImageFrameRequest, який приймає на вхід назву TIFF, frameID та інші параметри як аргументи.
  • Тепер викличте GetImageFrame(..) метод ImagingApi, де ми передаємо об’єкт GetImageFrameRequest як вхідний аргумент.
  • Нарешті, збережіть витягнуте зображення.
// Отримайте ClientID та ClientSecter з https://dashboard.aspose.cloud/
string clientID = "XXXXX-XXXXXXXXXX-bff4-f5a14a4b6466"; 
string clientSecret = "XXXXXXXXXX";

// створити екземпляр ImagingApi
ImagingApi imagingApi = new ImagingApi(clientSecret, clientID,"https://api.aspose.cloud/","v3.0",false);

// вхідне зображення TIFF доступно у хмарному сховищі
String fileName = "TiffSampleImage.tiff";

int? frameId = 5; // Index of a frame
int? newWidth = 300;
int? newHeight = 450;
int? x = 10;
int? y = 10;
int? rectWidth = 200;
int? rectHeight = 300;

string rotateFlipMethod = "RotateNoneFlipNone";

// Результат включатиме лише зазначену рамку
bool? saveOtherFrames = false;

string folder = null; // Input file is saved at the root of the storage
string storage = null; // We are using default Cloud Storage

GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest(fileName, frameId, newWidth, newHeight,
                                x, y, rectWidth, rectHeight, rotateFlipMethod, saveOtherFrames, folder, storage);

Stream imageFrame = imagingApi.GetImageFrame(getImageFrameRequest);

// Зберегти оновлене зображення в локальному сховищі
using (var fileStream = File.Create("/Users/nayyer/Downloads/MyResultant.tiff"))
{
    imageFrame.Seek(0, SeekOrigin.Begin);
    imageFrame.CopyTo(fileStream);
}

Ми можемо надати будь-яке з значень для властивості rotateFlipMethod.

RotateFlip метод (Rotate180FlipNone, Rotate180FlipX, Rotate180FlipXY, Rotate180FlipY, Rotate270FlipNone, Rotate270FlipX, Rotate270FlipXY, Rotate270FlipY, Rotate90FlipNone, Rotate90FlipX, Rotate90FlipXY, Rotate90FlipY, RotateNoneFlipNone, RotateNoneFlipX, RotateNoneFlipXY, RotateNoneFlipY).За замовчуванням використовується RotateNoneFlipNone.

Отримати TIFF-кадри за допомогою cURL

Альтернативно, ми також можемо використовувати команди cURL для виконання цієї операції. Ви можете розглянути можливість використання будь-якого з наведених нижче API викликів для виконання цієї операції.

  1. GET /imaging/{name}/frames/{frameId} - Завантажити зображення з хмарного сховища та отримати зображення у відповіді.
  2. POST /imaging/frames/{frameId} - Передайте TIFF в тілі запиту та отримайте результативне зображення у відповіді.

Першим кроком є створення JSON Web Token (JWT) на основі вашого ClientID та ClientSecret. Тому виконайте наступну команду в терміналі, щоб згенерувати JWT токен:

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=XXXXXX-XXXXX-XXX-bff4-f5a14a4b6466&client_secret=XXXXXXXXXXX" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Тепер виконайте наступну команду, щоб витягти 2-й кадр з TiffSampleImage.tiff зображення, яке вже завантажено на хмарне сховище.

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/TiffSampleImage.tiff/frames/2?saveOtherFrames=true" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o myresultant.tiff

Висновок

Можливість витягувати окремі кадри з багатокадрових TIFF зображень є цінною при роботі з відсканованими багатосторінковими документами, багатошаровими файлами з зображеннями або наборами даних медичної візуалізації. З Aspose.Imaging Cloud SDK для .NET ви можете легко автоматизувати цей процес, використовуючи або REST API виклики, або код C#.

Рекомендовані статті

Ми рекомендуємо вам відвідати наступні посилання, щоб дізнатися про: