■ サンプル
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// 今回は「GIF」「JPEG」「PNG」画像以外は、Falseと判定する
var imageFormats = new List<ImageFormat>()
{
ImageFormat.Gif,
ImageFormat.Jpeg,
ImageFormat.Png,
};
label1.Text = "Result : " + IsValidImage(textBox1.Text, imageFormats);
}
public bool IsValidImage(string imagePath, List<ImageFormat> supportImageFormats)
{
try
{
if (!File.Exists(imagePath))
{
return false;
}
// ここから
using (FileStream fileStream = new FileStream(imagePath, FileMode.Open, FileAccess.Read))
using (Image targetImage = Image.FromStream(fileStream))
{
return supportImageFormats.Contains(targetImage.RawFormat);
}
}
catch (Exception)
{
return false;
}
}
}
}