Γρήγορη Έναρξη
Γρήγορη Έναρξη
Αυτή η σελίδα περνάει από το μικρότερο λειτουργικό παράδειγμα: ανίχνευση ενός αρχείου για τη μορφή του και τις ιδιότητες της κεφαλίδας, και στη συνέχεια βλέπουμε πώς η βιβλιοθήκη διαχειρίζεται ένα κατεστραμμένο αρχείο αντί να ρίξει εξαίρεση.
Ανίχνευση αρχείου
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.
Επόμενα βήματα
- Installation — ρύθμιση πακέτου και απαιτήσεις περιβάλλοντος
- Οδηγός Προγραμματιστή — η πλήρης ανίχνευση μορφής API
- License — όροι άδειας MIT