Быстрый старт
Быстрый старт
Эта страница демонстрирует самый простой рабочий пример: проверку файла на его формат и свойства заголовка, а затем показывает, как библиотека обрабатывает повреждённый файл вместо выбрасывания исключения.
Проверка файла
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.
Следующие шаги
- Installation — настройка пакета и требования к окружению
- Руководство разработчика — полное определение формата API
- License — условия лицензии MIT