شروع سریع

آغاز سریع

این صفحه کوچک‌ترین مثال کارآمد را قدم‌به‌قدم نشان می‌دهد: بررسی یک فایل برای تعیین فرمت و ویژگی‌های هدر آن، سپس مشاهده نحوهٔ مدیریت کتابخانه برای فایل آسیب‌دیده به‌جای پرتاب خطا.


بررسی یک فایل

ImageProbe نقطهٔ ورودی ثابت تک‌گانه است. ProbeFile به اندازهٔ کافی از هدر فایل می‌خواند تا نتیجهٔ ImageInfo را پر کند — هرگز داده‌های پیکسل را رمزگشایی نمی‌کند:

using Aspose.Imaging.Foss;

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

ImageInfo، Format، Width، Height، BitDepth و FrameCount را در دسترس می‌گذارد — که فقط زمانی پر می‌شوند که فرمت شناسایی‌شده واقعاً آن داده‌ها را داشته باشد.


بررسی یک جریان یا آرایه بایت

Probe مستقیماً یک Stream یا یک byte[] را می‌پذیرد، و DetectFormat فقط ImageFormat را برمی‌گرداند وقتی که به هدر کامل نیازی ندارید:

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);

مدیریت ورودی‌های کوتاه‌شده یا خراب

ImageProbe هرگز در ورودی خراب یا کوتاه‌شده استثنا پرتاب نمی‌کند. به‌جای ارتقاء یک استثنا، یک ImageInfo جزئی را برمی‌گرداند که شامل هر فیلدی است که توانسته خواند — Format همیشه زمانی تنظیم می‌شود که نشانگر قالب سرآیند شناسایی شده باشد، حتی اگر بقیهٔ فایل کوتاه باشد:

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

این باعث می‌شود ImageProbe به‌صورت ایمن بر روی فایل‌های ناشناخته یا به‌صورت جزئی دانلود شده اجرا شود بدون این‌که هر فراخوانی را در یک try/catch بپیچیم.


گام‌های بعدی

همچنین ببینید:

 فارسی