Вот версия C # (с использованием пространства имен System.Drawing.Imaging):
public static ImageFormat getImageFileFormat( string filename )
{
using ( var fs = new System.IO.FileStream( filename, System.IO.FileMode.Open ) )
using ( var img = Image.FromStream( fs, true, false ) )
return img.RawFormat;
}
С помощью этой функции вы можете сделать что-то вроде:
ImageFormat fmt = getImageFileFormat( @"some file" );
if ( fmt.Guid == ImageFormat.Jpeg.Guid )
{
...
}
else if ( fmt.Guid == ImageFormat.Bmp.Guid )
{
...
}