クイックスタート

クイックスタート

クイックスタート

このページでは、最小限の動作例として、ファイルのフォーマットとヘッダー属性をプローブし、例外をスローする代わりにライブラリが破損したファイルをどのように扱うかを確認します。


ファイルをプローブする

ImageProbe は唯一の静的エントリーポイントです。ProbeFile はファイルヘッダーの必要最低限だけを読み取り、ImageInfo 結果を生成します — ピクセルデータは決してデコードしません:

using Aspose.Imaging.Foss;

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

ImageInfo は Format、Width、Height、BitDepth、および FrameCount を公開します — これらは検出されたフォーマットが実際にそのデータを持つ場合にのみ設定されます。


ストリームまたはバイト配列をプローブする

Probe は Stream または byte[] を直接受け取り、DetectFormat はヘッダー全体が不要な場合に ImageFormat だけを返します:

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

切り詰められたまたは不正な入力の処理

ImageProbe は不正または切り詰められた入力に対して例外を投げません。例外を発生させる代わりに、読み取れたフィールドだけを含む部分的な ImageInfo を返します — ヘッダーのフォーマットマーカーが認識された場合、たとえファイルの残りが切り取られていても Format は常に設定されます:

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

このため、すべての呼び出しを try/catch で囲むことなく、信頼できないファイルや部分的にダウンロードされたファイルに対して ImageProbe を安全に実行できます。


次のステップ

参照

 日本語