Bắt đầu nhanh

Bắt đầu nhanh

Trang này hướng dẫn qua ví dụ nhỏ nhất hoạt động: kiểm tra một tệp để xác định định dạng và các thuộc tính tiêu đề, sau đó xem thư viện xử lý tệp bị hỏng như thế nào thay vì ném ngoại lệ.


Kiểm tra tệp

ImageProbe là điểm nhập duy nhất tĩnh. ProbeFile đọc đủ phần tiêu đề của tệp để tạo ra kết quả ImageInfo — nó không bao giờ giải mã dữ liệu pixel:

using Aspose.Imaging.Foss;

var info = ImageProbe.ProbeFile("photo.jpg");
Console.WriteLine($"{info.Format}: {info.Width}x{info.Height}, {info.BitDepth}-bit");

ImageInfo cung cấp Format, Width, Height, BitDepth, và FrameCount — chỉ được điền khi định dạng được phát hiện thực sự chứa dữ liệu đó.


Kiểm tra luồng hoặc mảng byte

Probe chấp nhận một Stream hoặc một byte[] trực tiếp, và DetectFormat trả về chỉ ImageFormat khi bạn không cần toàn bộ tiêu đề:

using Aspose.Imaging.Foss;
using System.IO;

byte[] bytes = File.ReadAllBytes("photo.jpg");
var format = ImageProbe.DetectFormat(bytes);

using var stream = File.OpenRead("photo.jpg");
var info = ImageProbe.Probe(stream);

Xử lý đầu vào bị cắt ngắn hoặc sai định dạng

ImageProbe không bao giờ ném lỗi khi đầu vào bị sai định dạng hoặc bị cắt ngắn. Thay vì ném ngoại lệ, nó trả về một ImageInfo một phần với bất kỳ trường nào nó đã đọc được — Format luôn được đặt khi dấu hiệu định dạng của tiêu đề được nhận ra, ngay cả khi phần còn lại của tệp bị cắt ngắn:

using Aspose.Imaging.Foss;

byte[] truncated = fullGifBytes[..^2]; // last two bytes missing

var info = ImageProbe.Probe(truncated);
Console.WriteLine(info.Format);        // Gif — detected from the header alone

Điều này khiến ImageProbe an toàn khi chạy trên các tệp không đáng tin cậy hoặc chỉ tải xuống một phần mà không cần bọc mỗi lời gọi trong try/catch.


Các bước tiếp theo

Xem thêm

 Tiếng Việt