ไฟล์ TIFF(Tag Image File Format) ใช้กันอย่างแพร่หลายในการพิมพ์, การออกแบบกราฟิก, และการถ่ายภาพเนื่องจากความสามารถในการจัดเก็บกราฟิกแรสเตอร์คุณภาพสูง แตกต่างจาก JPEG หรือ PNG ไฟล์ TIFF สามารถเก็บหลายภาพหรือเฟรมภายในไฟล์เดียว ภาพ TIFF หลายเฟรมเหล่านี้มักถูกใช้ในภาพทางการแพทย์, เอกสารที่สแกน, และการออกแบบที่มีเลเยอร์
API การประมวลผลภาพ
Aspose.Imaging Cloud SDK for .NET เป็น API ที่น่าทึ่งซึ่งสร้างขึ้นบนสถ mimis REST มีความสามารถในการจัดการและประมวลผลภาพออนไลน์ มันเสนอวิธีการที่ง่ายและสะดวกในการสกัดกรอบ tiff จากภาพ TIFF หลายกรอบภายในโค้ด C# .NET นอกจากนี้ SDK ยังสามารถดาวน์โหลดได้จาก NuGet และ GitHub ตอนนี้ให้ติดตั้ง REST API เพื่อเริ่มต้นจัดการ TIFF และรูปแบบภาพอื่น ๆ
Install-Package Aspose.Imaging-Cloud
รับ Client ID และ Client Secret ของคุณจาก Aspose Cloud dashboard.
Extract TIFF Frames using C#
ส่วนนี้อธิบายรายละเอียดเกี่ยวกับวิธีที่เราสามารถแยกเฟรม TIFF ได้อย่างง่ายดายโดยใช้ C# .NET.
- Firstly, create an object of ImagingApi while providing ClientID and ClientSecret as arguments.
- ประการที่สอง สร้างวัตถุของ GetImageFrameRequest ซึ่งรับชื่อ TIFF, frameID และพารามิเตอร์อื่นๆ เป็นอาร์กิวเมนต์
- ตอนนี้เรียกใช้ GetImageFrame(..) วิธีการของ ImagingApi ซึ่งเราจะส่งวัตถุ
GetImageFrameRequest
เป็นอาร์กิวเมนต์นำเข้า - สุดท้าย บันทึกรูปภาพที่ถูกดึงข้อมูลออกมา
// Obtain ClientID and ClientSecter from 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);
// input TIFF image available on Cloud storage
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 ดังต่อไปนี้เพื่อดำเนินการนี้
- GET /imaging/{name}/frames/{frameId} - โหลดภาพจากการจัดเก็บในคลาวด์และรับภาพเป็นการตอบกลับ
- 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#
บทความที่แนะนำ
เราแนะนำให้คุณเข้าไปที่ลิงค์ต่อไปนี้เพื่อเรียนรู้เกี่ยวกับ: