「画像ファイルを読み込み、Imageオブジェクトを作成する」で紹介したような方法で画像ファイルをImageオブジェクトとして読み込んだときに、そのImageオブジェクトからファイル形式を調べる方法を紹介します。
それにはRawFormatプロパティを使用し、その値がImageFormatクラスにある静的プロパティのメンバと一致するかを調べます。例えば、あるImageオブジェクトがJPEGか調べるならば、RawFormatプロパティがImageFormat.Jpegプロパティと同じかをEqualsメソッドを使って調べます。
以下に、Imageオブジェクトのファイル形式を調べて表示する例を示します。
'画像ファイルを読み込む Dim imgPath As String = "C:\test.jpg" Dim img As System.Drawing.Image = System.Drawing.Image.FromFile(imgPath) 'イメージのファイル形式を調べる If img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Bmp) Then Console.WriteLine("ビットマップ (BMP) イメージ形式です") ElseIf img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Gif) Then Console.WriteLine("GIF (Graphics Interchange Format) イメージ形式です") ElseIf img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Jpeg) Then Console.WriteLine("JPEG (Joint Photographic Experts Group) イメージ形式です") ElseIf img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Png) Then Console.WriteLine("W3C PNG (Portable Network Graphics) イメージ形式です") ElseIf img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Exif) Then Console.WriteLine("Exif (Exchangeable Image File) 形式です") ElseIf img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Tiff) Then Console.WriteLine("TIFF (Tagged Image File Format) イメージ形式です") ElseIf img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Icon) Then Console.WriteLine("Windows アイコン イメージ形式です") ElseIf img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Emf) Then Console.WriteLine("拡張メタファイル (EMF) イメージ形式です") ElseIf img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Wmf) Then Console.WriteLine("Windows メタファイル (WMF) イメージ形式です") ElseIf img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.MemoryBmp) Then Console.WriteLine("メモリ ビットマップ イメージ形式です") End If img.Dispose()
//画像ファイルを読み込む string imgPath = @"C:\test.jpg"; System.Drawing.Image img = System.Drawing.Image.FromFile(imgPath); //イメージのファイル形式を調べる if (img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Bmp)) { Console.WriteLine("ビットマップ (BMP) イメージ形式です"); } else if (img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Gif)) { Console.WriteLine("GIF (Graphics Interchange Format) イメージ形式です"); } else if (img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Jpeg)) { Console.WriteLine("JPEG (Joint Photographic Experts Group) イメージ形式です"); } else if (img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Png)) { Console.WriteLine("W3C PNG (Portable Network Graphics) イメージ形式です"); } else if (img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Exif)) { Console.WriteLine("Exif (Exchangeable Image File) 形式です"); } else if (img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Tiff)) { Console.WriteLine("TIFF (Tagged Image File Format) イメージ形式です"); } else if (img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Icon)) { Console.WriteLine("Windows アイコン イメージ形式です"); } else if (img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Emf)) { Console.WriteLine("拡張メタファイル (EMF) イメージ形式です"); } else if (img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Wmf)) { Console.WriteLine("Windows メタファイル (WMF) イメージ形式です"); } else if (img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.MemoryBmp)) { Console.WriteLine("メモリ ビットマップ イメージ形式です"); } img.Dispose();