Início rápido
Início rápido
Esta página demonstra o menor exemplo funcional: sondar um arquivo para seu formato e propriedades do cabeçalho, e então ver como a biblioteca lida com um arquivo danificado em vez de lançar.
Sondar um arquivo
ImageProbe é o único ponto de entrada estático. ProbeFile lê apenas o suficiente do cabeçalho do arquivo para preencher um resultado ImageInfo — nunca decodifica dados de pixel:
using Aspose.Imaging.Foss;
var info = ImageProbe.ProbeFile("photo.jpg");
Console.WriteLine($"{info.Format}: {info.Width}x{info.Height}, {info.BitDepth}-bit");ImageInfo expõe Format, Width, Height, BitDepth e FrameCount — preenchidos somente quando o formato detectado realmente contém esses dados.
Sondar um fluxo ou array de bytes
Probe aceita diretamente um Stream ou um byte[], e DetectFormat devolve apenas o ImageFormat quando você não precisa do cabeçalho completo:
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);Manipulando entrada truncada ou malformada
ImageProbe nunca lança exceção em entrada malformada ou truncada. Em vez de levantar uma exceção, ele retorna um ImageInfo parcial com os campos que conseguiu ler — Format está sempre definido quando o marcador de formato do cabeçalho foi reconhecido, mesmo que o resto do arquivo seja cortado:
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 aloneIsso torna ImageProbe seguro para ser executado em arquivos não confiáveis ou parcialmente baixados sem envolver cada chamada em um try/catch.
Próximas etapas
- Installation — configuração do pacote e requisitos de ambiente
- Guia do Desenvolvedor — detecção completa de formato API
- License — termos da licença MIT