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 alone

Isso 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

Ver também

 Português