البدء السريع

البدء السريع

البدء السريع

تستعرض هذه الصفحة أصغر مثال عملي: فحص ملف لتحديد صيغته وخصائص رأسه، ثم مشاهدة كيفية تعامل المكتبة مع ملف تالف بدلاً من إلقاء استثناء.


فحص ملف

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.


الخطوات التالية

انظر أيضاً

 العربية