1. ホーム
  2. c#

[解決済み] C#でBitmapオブジェクトを使用して画像形式を検索する

2023-03-22 12:57:30

質問

画像ファイルのバイナリバイトをハードディスクに取り込み、Bitmapオブジェクトに読み込んでいます。Bitmapオブジェクトからイメージタイプ[JPEG、PNG、BMPなど]を見つけるにはどうすればよいですか?

些細なことに見えます。しかし、それを理解することができませんでした!

他の方法はないのでしょうか?

ご回答をよろしくお願いします。

は正しい解答を更新しました。

@CMSです。正解をありがとうございます

これを実現するためのサンプルコードです。

using (MemoryStream imageMemStream = new MemoryStream(fileData))
{
    using (Bitmap bitmap = new Bitmap(imageMemStream))
    {
        ImageFormat imageFormat = bitmap.RawFormat;
        if (bitmap.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Jpeg))
            //It's a JPEG;
        else if (bitmap.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Png))
            //It's a PNG;
    }
}

どのように解決するのですか?

画像の形式を知りたい場合は、ファイルを読み込む際に 画像 クラスでファイルを読み込み、その RawFormat プロパティを確認します。

using(Image img = Image.FromFile(@"C:\path\to\img.jpg"))
{
    if (img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Jpeg))
    {
      // ...
    }
}