Szybki start

Szybki start

Ta strona przechodzi przez najmniejszy działający przykład: badanie pliku pod kątem jego formatu i właściwości nagłówka, a następnie sprawdzanie, jak biblioteka obsługuje uszkodzony plik zamiast wyrzucać.


Zbadaj plik

ImageProbe jest jedynym statycznym punktem wejścia. ProbeFile odczytuje tylko tyle nagłówka pliku, aby wypełnić wynik ImageInfo — nigdy nie dekoduje danych pikseli:

using Aspose.Imaging.Foss;

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

ImageInfo udostępnia Format, Width, Height, BitDepth i FrameCount — wypełniane tylko wtedy, gdy wykryty format faktycznie zawiera te dane.


Zbadaj strumień lub tablicę bajtów

Probe przyjmuje bezpośrednio Stream lub byte[], a DetectFormat zwraca tylko ImageFormat, gdy nie potrzebujesz pełnego nagłówka:

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

Obsługa uciętych lub nieprawidłowych danych wejściowych

ImageProbe nigdy nie zgłasza wyjątku przy nieprawidłowych lub uciętych danych wejściowych. Zamiast podnosić wyjątek, zwraca częściowy ImageInfo z wszystkimi polami, które udało się odczytać — Format jest zawsze ustawione, gdy rozpoznano znacznik formatu nagłówka, nawet jeśli reszta pliku została obcięta:

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

Sprawia to, że ImageProbe jest bezpieczne do uruchamiania na nieufnych lub częściowo pobranych plikach bez konieczności otaczania każdego wywołania blokiem try/catch.


Kolejne kroki

Zobacz także

 Polski