Γρήγορη Έναρξη

Γρήγορη Έναρξη

Γρήγορη Έναρξη

Αυτή η σελίδα περνάει από το μικρότερο λειτουργικό παράδειγμα: ανίχνευση ενός αρχείου για τη μορφή του και τις ιδιότητες της κεφαλίδας, και στη συνέχεια βλέπουμε πώς η βιβλιοθήκη διαχειρίζεται ένα κατεστραμμένο αρχείο αντί να ρίξει εξαίρεση.


Ανίχνευση αρχείου

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 — γεμίζονται μόνο όταν η ανιχνευμένη μορφή πραγματικά περιέχει αυτά τα δεδομένα.


Ανίχνευση ροής ή πίνακα byte

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.


Επόμενα βήματα

Δείτε επίσης

 Ελληνικά