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
- Installation — cài đặt gói và yêu cầu môi trường
- Hướng dẫn dành cho nhà phát triển — việc phát hiện định dạng đầy đủ API
- License — các điều khoản giấy phép MIT