Быстрый старт

Быстрый старт

Быстрый старт

Эта страница демонстрирует самый простой рабочий пример: проверку файла на его формат и свойства заголовка, а затем показывает, как библиотека обрабатывает повреждённый файл вместо выбрасывания исключения.


Проверка файла

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.


Следующие шаги

См. также:

 Русский