فرمت TIFF(Tag Image File Format) به طور گسترده‌ای در نشر، طراحی گرافیک و عکاسی استفاده می‌شود به دلیل قابلیت آن در ذخیره‌سازی گرافیک‌های رستر با کیفیت بالا. بر خلاف JPEG یا PNG، یک فایل TIFF می‌تواند چندین تصویر یا فریم را در یک فایل واحد نگه‌دارد. این تصاویر TIFF چند فریمی اغلب در تصویربرداری پزشکی، مدارک اسکن شده و طراحی‌های لایه‌ای استفاده می‌شوند.

API پردازش تصویر

Aspose.Imaging Cloud SDK for .NET یک API شگفت‌انگیز مبتنی بر معماری REST است که قابلیت‌های لازم برای دستکاری و پردازش تصاویر آنلاین را فراهم می‌کند. این SDK رویکردی ساده و آسان برای استخراج فریم TIFF از تصویر چند فریمی TIFF در اسکریپت کد C# .NET ارائه می‌دهد. SDK برای دانلود از NuGet و GitHub در دسترس است. اکنون، API REST را نصب کنید تا به دستکاری فرمت‌های 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 را در بدنۀ درخواست ارسال کنید و تصویر حاصل را در پاسخ دریافت کنید.

اولین قدم تولید توکن وب 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"

اکنون دستور زیر را برای استخراج فریم دوم از تصویر 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#.

مقالات پیشنهادی

ما به شما توصیه می‌کنیم که لینک‌های زیر را برای آشنایی با موارد زیر مشاهده کنید: