The TIFF(タグ画像ファイル形式) は、高品質のラスターグラフィックスを保存できるため、出版、グラフィックデザイン、写真撮影で広く使用されています。JPEGPNG とは異なり、TIFFファイルは単一のファイル内に複数の画像やフレームを保持することができます。これらのマルチフレームTIFF画像は、医療画像、スキャン文書、レイヤードデザインでよく使用されます。

画像処理 API

Aspose.Imaging Cloud SDK for .NET は、RESTアーキテクチャに基づいた素晴らしいAPIで、オンラインで画像を操作および処理する機能を提供します。C# .NET コードスニペット内でマルチフレームTIFF画像からTIFFフレームを抽出するためのシンプルで簡単なアプローチを提供します。このSDKは NuGetGitHub からダウンロード可能です。今すぐREST APIをインストールして、TIFFやその他の画像フォーマットを操作し始めましょう。

Install-Package Aspose.Imaging-Cloud

クライアントIDとクライアントシークレットを Aspose Cloud dashboard から取得してください。

C#を使用してTIFFフレームを抽出する

このセクションでは、C# .NETを使用してTIFFフレームを簡単に抽出する方法の詳細を説明します。

  • まず、引数として ClientID と ClientSecret を提供しながら ImagingApi のオブジェクトを作成します。
  • 次に、TIFF名、frameID、および他のパラメータを引数として受け取る GetImageFrameRequest のオブジェクトを作成します。
  • 今、ImagingApiのGetImageFrame(..)メソッドを呼び出します。このメソッドには、GetImageFrameRequestオブジェクトを入力引数として渡します。
  • 最後に、抽出した画像を保存します。
// クライアントIDとクライアントセクレットを 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);

// Cloudストレージにある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を渡し、レスポンスで結果の画像を取得します。

最初のステップは、あなたの ClientID と ClientSecret に基づいて JSON Web Token (JWT) を生成することです。したがって、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"

次のコマンドを実行して、クラウドストレージにすでにアップロードされている TiffSampleImage.tiff 画像の2番目のフレームを抽出します。

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 for .NETを使用すると、REST API呼び出しまたはC#コードのいずれかを使用して、このプロセスを簡単に自動化できます。

推奨記事

以下のリンクを訪れて学ぶことをお勧めします: