Định dạng TIFF(Tag Image File Format) được sử dụng rộng rãi trong xuất bản, thiết kế đồ họa và nhiếp ảnh vì khả năng lưu trữ đồ họa raster chất lượng cao. Khác với JPEG hoặc PNG, một tệp TIFF có thể chứa nhiều hình ảnh hoặc khung trong một tệp duy nhất. Những hình ảnh TIFF đa khung này thường được sử dụng trong hình ảnh y tế, tài liệu quét và thiết kế lớp.
API Xử Lý Hình Ảnh
Aspose.Imaging Cloud SDK for .NET là một API tuyệt vời dựa trên kiến trúc REST, cung cấp khả năng thao tác và xử lý hình ảnh trực tuyến. Nó cung cấp cách tiếp cận đơn giản và dễ dàng để trích xuất khung tiff từ hình ảnh TIFF đa khung trong đoạn mã C# .NET. SDK có sẵn để tải về từ NuGet và GitHub. Bây giờ, hãy cài đặt REST API để bắt đầu thao tác với định dạng TIFF và các định dạng hình ảnh khác.
Install-Package Aspose.Imaging-Cloud
Nhận Client ID và Client Secret từ Aspose Cloud dashboard.
Trích xuất khung TIFF bằng C#
Phần này giải thích chi tiết về cách chúng ta có thể dễ dàng trích xuất khung TIFF bằng C# .NET.
- Đầu tiên, tạo một đối tượng của ImagingApi trong khi cung cấp ClientID và ClientSecret làm đối số.
- Thứ hai, tạo một đối tượng của GetImageFrameRequest mà nhận đầu vào là tên TIFF, frameID và các tham số khác làm đối số.
- Bây giờ, gọi GetImageFrame(..) phương thức của ImagingApi nơi chúng ta truyền đối tượng
GetImageFrameRequest
làm đối số đầu vào. - Cuối cùng, lưu hình ảnh đã được trích xuất.
// Obtain ClientID and ClientSecter from https://dashboard.aspose.cloud/
string clientID = "XXXXX-XXXXXXXXXX-bff4-f5a14a4b6466";
string clientSecret = "XXXXXXXXXX";
// tạo một thể instance của ImagingApi
ImagingApi imagingApi = new ImagingApi(clientSecret, clientID,"https://api.aspose.cloud/","v3.0",false);
// hình ảnh TIFF có sẵn trên lưu trữ đám mây
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";
// Kết quả sẽ chỉ bao gồm khung được chỉ định.
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);
// Lưu ảnh đã cập nhật vào bộ nhớ cục bộ
using (var fileStream = File.Create("/Users/nayyer/Downloads/MyResultant.tiff"))
{
imageFrame.Seek(0, SeekOrigin.Begin);
imageFrame.CopyTo(fileStream);
}
Chúng tôi có thể cung cấp bất kỳ giá trị nào cho thuộc tính rotateFlipMethod.
Phương pháp RotateFlip (Rotate180FlipNone, Rotate180FlipX, Rotate180FlipXY, Rotate180FlipY, Rotate270FlipNone, Rotate270FlipX, Rotate270FlipXY, Rotate270FlipY, Rotate90FlipNone, Rotate90FlipX, Rotate90FlipXY, Rotate90FlipY, RotateNoneFlipNone, RotateNoneFlipX, RotateNoneFlipXY, RotateNoneFlipY).Mặc định là RotateNoneFlipNone.
Lấy khung TIFF bằng cách sử dụng cURL
Ngoài ra, chúng ta cũng có thể sử dụng lệnh cURL để thực hiện thao tác này. Bạn có thể xem xét việc sử dụng một trong các cuộc gọi API sau đây để thực hiện thao tác này.
- GET /imaging/{name}/frames/{frameId} - Tải hình ảnh từ lưu trữ đám mây và nhận hình ảnh trong phản hồi.
- POST /imaging/frames/{frameId} - Truyền TIFF trong phần thân yêu cầu và nhận hình ảnh kết quả trong phản hồi.
Bước đầu tiên là tạo mã thông báo JSON Web Token (JWT) dựa trên ClientID và ClientSecret của bạn. Do đó, hãy thực hiện lệnh sau trong terminal để tạo mã thông báo 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"
Bây giờ, thực hiện lệnh sau để trích xuất khung thứ 2 từ TiffSampleImage.tiff hình ảnh đã được tải lên trên kho lưu trữ đám mây.
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
Kết luận
Khả năng trích xuất từng khung hình từ hình ảnh TIFF đa khung là rất quý giá khi làm việc với tài liệu đa trang đã quét, tệp hình ảnh theo lớp hoặc tập dữ liệu hình ảnh y tế. Với Aspose.Imaging Cloud SDK cho .NET, bạn có thể tự động hóa quy trình này một cách dễ dàng, sử dụng gọi REST API hoặc mã C#.
Bài viết được khuyến nghị
Chúng tôi khuyên bạn nên truy cập các liên kết sau để tìm hiểu về: