استخراج إطارات TIFF

تنسيق ملف الصورة، المختصر TIFF أو TIF، هو تنسيق ملف كمبيوتر لتخزين صور الرسومات النقطية، وهو شائع بين الفنانين الرسوميين وصناعة النشر والمصورين. يختلف تنسيق TIFF عن تنسيق JPEG وGIF وPNG لأنه تنسيق “غير مضغوط”. تتمتع ملفات TIFF بالقدرة على تخزين صور متعددة، ولكل منها قنوات متعددة. عادةً، تمثل هذه الصور المتعددة الإطارات المتسلسلة في مكدس زمني أو مكدس z من الصور، وبالتالي فإن كل من هذه الصور لها نفس البعد.

الخيارات الأخرى التي نحصل عليها في TIFF هي الطبقات والصفحات حيث يمكن مقارنة الطبقة بالشفافية التي يتم تطبيق تأثيرات التصوير أو الصور عليها ووضعها فوق أو تحت الصورة. كما هو موضح في الصورة أدناه، تعرض الصورة طبقات متعددة بها. في هذه المقالة، سنناقش الخطوات الخاصة بكيفية استخراج الإطارات من صور TIFF متعددة الإطارات باستخدام Aspose.Imaging Cloud SDK for .NET.

صورة TIFF مع الإطارات

تثبيت SDK

Aspose.Imaging Cloud SDK for .NET عبارة عن SDK برمجة تم تطويرها على واجهة برمجة تطبيقات Aspose.Imaging Cloud وتوفر جميع إمكانيات معالجة الصور لمطوري .NET. لذا فإن الخطوة الأولى هي تثبيت SDK المتاحة للتنزيل على NuGet وGitHub. قم بتنفيذ الأمر التالي لتثبيت SDK من مكتبة NuGet.

Install-Package Aspose.Imaging-Cloud

أو كبديل، يمكنك إضافة الحزمة باستخدام مدير الحزم NuGet في Visual Studio كما هو موضح أدناه. يمكنك التفكير في زيارة الرابط التالي لمزيد من التفاصيل حول كيفية تثبيت حزم SDK الخاصة بـ Aspose.Cloud.

مجموعة أدوات تطوير البرامج السحابية Aspose.Imaging

الآن، لاستخدام مجموعة أدوات التطوير البرمجية، فإن الخطوة التالية هي الحصول على تفاصيل ClientID وClientSecret المخصصة لك. لذلك، فإن الخطوة الأولى هي إنشاء حساب من خلال زيارة لوحة تحكم Aspose.Cloud. إذا كان لديك حساب GitHub أو Google، فما عليك سوى التسجيل. بخلاف ذلك، انقر فوق الزر إنشاء حساب جديد وقم بتوفير المعلومات المطلوبة. الآن قم بتسجيل الدخول إلى لوحة التحكم باستخدام بيانات الاعتماد وقم بتوسيع قسم التطبيقات من لوحة التحكم وانتقل لأسفل نحو قسم بيانات اعتماد العميل لرؤية تفاصيل Client ID وClient Secret.

معاينة معرف العميل وسر العميل

استخراج إطارات TIFF باستخدام الأمر cURL

أولاً، سنناقش استخراج إطارات TIFF باستخدام أمر cURL لأنها إحدى الطرق الملائمة للوصول إلى واجهات برمجة تطبيقات REST على أي منصة. بغض النظر عن المنصة والتعقيدات المعمارية الأساسية. لذا، لاستخدام أوامر cURL، فإن الخطوة الأولى هي إنشاء رمز ويب JSON (JWT) استنادًا إلى تفاصيل ClientID وClientSecret المستردة من لوحة معلومات Aspose.Cloud. يرجى تنفيذ الأمر التالي في المحطة الطرفية لإنشاء رمز JWT

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=718e4235-8866-4ebe-bff4-f5a14a4b6466&client_secret=388e864b819d8b067a8b1cb625a2ea8e" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

قبل المتابعة، يرجى ملاحظة أنه يمكن استخراج الإطار باستخدام إحدى واجهتي برمجة التطبيقات التاليتين:

تتوقع واجهة برمجة التطبيقات الأولى منك أولاً تحميل صورة إلى Cloud Storage ثم تمرير اسمها في عنوان URL لواجهة برمجة التطبيقات. بعد تحديث معلمات الصورة، تعيد واجهة برمجة التطبيقات الصورة المحدثة في الاستجابة.

من ناحية أخرى، باستخدام واجهة برمجة التطبيقات الثانية، يمكنك تمرير الصورة مباشرة في نص الطلب. كما تتيح لك أيضًا حفظ الصورة المحدثة على Cloud Storage من خلال تحديد قيمة معلمة outPath. ومع ذلك، إذا لم تحدد القيمة، فستحتوي الاستجابة على صورة متدفقة.

الآن استخدم الأمر التالي لاستخراج الإطار الرابع من الصورة TiffSampleImage.tiff التي تم تحميلها بالفعل على التخزين السحابي.

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

كيفية استخراج إطارات TIFF في C#

في هذا القسم، سنقوم باستخراج إطار TIFF باستخدام C# .NET. يرجى اتباع الخطوات الموضحة أدناه

  • الخطوة الأولى هي إنشاء كائن ImagingApi مع توفير ClientID وClientSecret كحجج
  • إنشاء كائن سلسلة يحدد صورة TIFF المدخلة
  • لتحديد الإطار الذي سيتم استخراجه، قم بإنشاء عدد صحيح
  • إنشاء كائنات عددية لتحديد أبعاد الإطار المستخرج
  • الخطوة التالية هي إنشاء كائن GetImageFrameRequest يأخذ اسم TIFF المدخل ومعرف الإطار والمعلمات الأخرى المتعلقة بأبعاد الإطار المستخرجة كحجج
  • قبل الأخير، قم باستدعاء طريقة GetImageFrame(..) من ImagingApi والتي تأخذ كائن GetImageFrameRequest كحجة إدخال
  • أخيرًا، احفظ الناتج لتحميل محرك الأقراص
string clientID = "718e4235-8866-4ebe-bff4-f5a14a4b6466"; // Get ClientID from https://dashboard.aspose.cloud/
string clientSecret = "388e864b819d8b067a8b1cb625a2ea8e"; // Get CLientSecret from https://dashboard.aspose.cloud/

// إنشاء مثيل لـ ImagingApi
Aspose.Imaging.Cloud.Sdk.Api.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/nayyershahbaz/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 من إطارات TIFF متعددة في المقالة أعلاه. وبصرف النظر عن استخراج الإطارات، تتيح لك واجهة برمجة التطبيقات تغيير حجم إطارات TIFF، الحصول على خصائص إطار TIFF، قص إطار TIFF، تدوير إطار TIFF، وما إلى ذلك. في حالة مواجهة أي مشكلات أثناء استخدام واجهة برمجة التطبيقات، فلا تتردد في الاتصال بنا عبر منتدى الدعم المجاني.

نقترح عليك أيضًا الاطلاع على الروابط التالية للحصول على مزيد من المعلومات حول