Avvio rapido
Avvio rapido
Questa pagina illustra il più piccolo esempio funzionante: analizzare un file per determinarne il formato e le proprietà dell’intestazione, quindi vedere come la libreria gestisce un file danneggiato invece di lanciare un’eccezione.
Analizza un file
ImageProbe è il singolo punto di ingresso statico. ProbeFile legge solo la parte necessaria dell’intestazione del file per popolare un risultato ImageInfo — non decodifica mai i dati dei pixel:
using Aspose.Imaging.Foss;
var info = ImageProbe.ProbeFile("photo.jpg");
Console.WriteLine($"{info.Format}: {info.Width}x{info.Height}, {info.BitDepth}-bit");ImageInfo espone Format, Width, Height, BitDepth e FrameCount — popolati solo quando il formato rilevato effettivamente contiene tali dati.
Analizza uno stream o un array di byte
Probe accetta direttamente un Stream o un byte[], e DetectFormat restituisce solo il ImageFormat quando non è necessario l’intera intestazione:
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);Gestione di input troncati o malformati
ImageProbe non genera mai eccezioni su input malformati o troncati. Invece di sollevare un’eccezione, restituisce un ImageInfo parziale con i campi che è riuscito a leggere — Format è sempre impostato quando il marcatore di formato dell’intestazione è stato riconosciuto, anche se il resto del file è stato tagliato:
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 aloneCiò rende ImageProbe sicuro da eseguire su file non attendibili o parzialmente scaricati senza avvolgere ogni chiamata in un try/catch.
Prossimi passi
- Installation — configurazione del pacchetto e requisiti dell’ambiente
- Guida per sviluppatori — il rilevamento completo del formato API
- License — termini della licenza MIT