【C#】画像かどうかを判定する ~ ImageCodecInfo / Bitmap を使って ~

■ サンプル

public bool IsImage(string imagePath)
{
    ImageCodecInfo[] decoders = ImageCodecInfo.GetImageDecoders();
    Bitmap bitmap;

    try
    {
        bitmap = new Bitmap(imagePath);
    }
    catch (Exception)
    {
        return false;
    }

    bool isImage = false;

    foreach (ImageCodecInfo decoderInfo in decoders)
    {
        if (decoderInfo.FormatID == bitmap.RawFormat.Guid)
        {
            isImage = true;
        }
    }
    return isImage;
}

補足

 * このままだと激遅なので、最悪Try-Catchまでで、以降の処理は行わなくていいかも


関連記事

C#】サポートしている画像形式かどうかを判定する ~ Image を使って ~

https://blogs.yahoo.co.jp/dk521123/37080284.html

C#】Bitmap / BitmapData

https://blogs.yahoo.co.jp/dk521123/38086057.html