Démarrage rapide

Démarrage rapide

Cette page parcourt le plus petit exemple fonctionnel: interroger un fichier pour connaître son format et ses propriétés d’en-tête, puis voir comment la bibliothèque gère un fichier endommagé au lieu de lever une exception.


Interroger un fichier

ImageProbe est le point d’entrée statique unique. ProbeFile lit juste assez de l’en-tête du fichier pour remplir un résultat ImageInfo — il ne décode jamais les données 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 expose Format, Width, Height, BitDepth et FrameCount — remplis uniquement lorsque le format détecté contient réellement ces données.


Interroger un flux ou un tableau d’octets

Probe accepte directement un Stream ou un byte[], et DetectFormat renvoie uniquement le ImageFormat lorsque vous n’avez pas besoin de l’en-tête complet:

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);

Gestion d’une entrée tronquée ou malformée

ImageProbe ne lance jamais d’exception sur une entrée malformée ou tronquée. Au lieu de lever une exception, il renvoie un ImageInfo partiel avec les champs qu’il a pu lire — Format est toujours défini lorsque le marqueur de format de l’en-tête a été reconnu, même si le reste du fichier est coupé :

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

Cela rend ImageProbe sûr à exécuter sur des fichiers non fiables ou partiellement téléchargés sans entourer chaque appel d’un bloc try/catch.


Prochaines étapes

Voir aussi

 Français