Inicio rápido

Inicio rápido

Esta página guía a través del ejemplo funcional más pequeño: sondear un archivo para determinar su formato y propiedades de encabezado, y luego ver cómo la biblioteca maneja un archivo dañado en lugar de lanzar una excepción.


Sondear un archivo

ImageProbe es el único punto de entrada estático. ProbeFile lee sólo lo suficiente del encabezado del archivo para poblar un resultado ImageInfo — nunca decodifica datos de píxeles:

using Aspose.Imaging.Foss;

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

ImageInfo expone Format, Width, Height, BitDepth y FrameCount — poblados sólo cuando el formato detectado realmente contiene esos datos.


Sondear un flujo o una matriz de bytes

Probe acepta directamente un Stream o un byte[], y DetectFormat devuelve sólo el ImageFormat cuando no necesitas el encabezado 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);

Manejo de entrada truncada o malformada

ImageProbe nunca lanza una excepción con entrada malformada o truncada. En lugar de generar una excepción, devuelve un ImageInfo parcial con los campos que logró leer — Format siempre se establece cuando se reconoce el marcador de formato del encabezado, incluso si el resto del archivo se corta:

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

Esto hace que ImageProbe sea seguro de ejecutar contra archivos no confiables o parcialmente descargados sin envolver cada llamada en un try/catch.


Próximos pasos

Ver también

 Español