חלץ מסגרות TIFF

Tag Image File Format, בקיצור TIFF או TIF, הוא פורמט קובץ מחשב לאחסון תמונות גרפיות רסטר, פופולרי בקרב גרפיקאים, תעשיית ההוצאה לאור וצלמים. TIFF שונה מ-JPEG, GIF ו-PNG מכיוון שהוא פורמט “לא דחוס”. לקבצי TIFF יש את היכולת לאחסן מספר תמונות, שלכל אחת מהן יש מספר ערוצים. בדרך כלל, תמונות מרובות אלו מייצגות את הפריימים הרציפים בערימת זמן או ערימת z של תמונות, ומכאן שלכל אחת מהתמונות הללו יש את אותו מימד.

אפשרויות נוספות שאנו מקבלים ב-TIFF הן שכבות ודפים שבהם ניתן להשוות את השכבה לשקיפות עליה מוחלים אפקטי הדמיה או תמונות ומניחים מעל או מתחת לתמונה. כפי שמוצג בתמונה למטה, התמונה מציגה שכבות מרובות שיש לה. במאמר זה, אנו הולכים לדון בשלבים כיצד לחלץ פריימים מתמונות TIFF מרובות מסגרות באמצעות Aspose.Imaging Cloud SDK עבור .NET.

תמונת TIFF עם מסגרות

התקנה של SDK

Aspose.Imaging Cloud SDK עבור .NET הוא SDK תכנות שפותח על גבי Aspose.Imaging Cloud API ומספק את כל יכולות המניפולציה של תמונות למפתחי NET. אז הצעד הראשון הוא להתקין את ה-SDK שזמין להורדה ב-NuGet ו-GitHub. בצע את הפקודה הבאה כדי להתקין את ה-SDK מספריית NuGet.

Install-Package Aspose.Imaging-Cloud

או כחלופה, אתה יכול להוסיף את החבילה באמצעות מנהל החבילות NuGet ב-Visual Studio כפי שמוצג להלן. תוכל לשקול ביקור בקישור הבא לפרטים נוספים על כיצד להתקין ערכות SDK של Aspose.Cloud.

Aspose.Imaging Cloud SDK

כעת על מנת להשתמש ב-SDK, השלב הבא הוא להשיג את פרטי הלקוח המותאם אישית שלך ואת פרטי ClientSecret. לכן, הצעד הראשון הוא ליצור חשבון על ידי ביקור ב-Aspose.Cloud Dashboard. אם יש לך חשבון GitHub או Google, פשוט הירשם. אחרת, לחץ על הלחצן צור חשבון חדש וספק את המידע הנדרש. כעת היכנס ללוח המחוונים באמצעות אישורים והרחב את קטע היישומים מלוח המחוונים וגלול מטה אל הקטע אישורי לקוח כדי לראות את פרטי זיהוי הלקוח ופרטי סוד הלקוח.

תצוגה מקדימה של ClientID ו- ClientSecret

חלץ מסגרות TIFF באמצעות הפקודה cURL

ראשית, אנו הולכים לדון בחילוץ של מסגרות TIFF באמצעות פקודת cURL מכיוון שהן אחת הדרכים הנוחות לגשת לממשקי REST API בכל פלטפורמה. ללא קשר לפלטפורמה ולמורכבות האדריכלית הבסיסית. אז כדי להשתמש בפקודות cURL, הצעד הראשון הוא ליצור JSON Web Token (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"

לפני שתמשיך הלאה, שים לב שניתן לחלץ את המסגרת באמצעות אחד משני ממשקי ה-API הבאים:

ה-API הראשון מצפה ממך להעלות תחילה תמונה ל-Cloud Storage ולאחר מכן להעביר את שמה בכתובת ה-API. לאחר עדכון פרמטרי התמונה, ה-API מחזיר את התמונה המעודכנת בתגובה.

מצד שני, עם ה-API השני, אתה יכול להעביר ישירות את התמונה בגוף הבקשה. זה גם מאפשר לך לשמור את התמונה המעודכנת ב-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 תוך מתן זיהוי לקוח ו-ClientSecret כארגומנטים
  • צור אובייקט מחרוזת המגדיר תמונת TIFF קלט
  • על מנת לציין את המסגרת לחילוץ, צור מספר שלם
  • צור אובייקטים שלמים כדי לציין את הממדים של המסגרת שחולצה
  • השלב הבא הוא יצירת אובייקט GetImageFrameRequest שלוקח את שם TIFF קלט, frameID ופרמטרים אחרים הקשורים לממדי מסגרת שחולצו כארגומנטים
  • הלפני אחרון, קרא לשיטת 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, RotateFlipNone, RotateFlipNone, RotateFlipNone, RotateFlip0, RotateFlipNone, RotateFlip0, Rotate lipNone, RotateNoneFlipX, RotateNoneFlipXY, RotateNoneFlipY).ברירת המחדל היא RotateNoneFlipNone.

מַסְקָנָה

החילוץ של מסגרות TIFF מ-TIFF מרובות מסגרות הוסבר במאמר לעיל. מלבד חילוץ מסגרת, ה-API מאפשר לך לשנות את גודל מסגרות ה-TIFF, קבל מאפייני מסגרת של TIFF, חתוך מסגרת TIFF, סיבוב היפוך מסגרת TIFF, וכו’. במקרה שנתקלתם בבעיות כלשהן במהלך השימוש ב-API, אנא אל תהסס לפנות אלינו באמצעות פורום תמיכה בחינם.

אנו מציעים לך גם לעבור על הקישורים הבאים למידע נוסף על