ho questo tipi di file Filtri:buon modo per verificare se l'estensione del file è di un'immagine o no
public const string Png = "PNG Portable Network Graphics (*.png)|" + "*.png";
public const string Jpg = "JPEG File Interchange Format (*.jpg *.jpeg *jfif)|" + "*.jpg;*.jpeg;*.jfif";
public const string Bmp = "BMP Windows Bitmap (*.bmp)|" + "*.bmp";
public const string Tif = "TIF Tagged Imaged File Format (*.tif *.tiff)|" + "*.tif;*.tiff";
public const string Gif = "GIF Graphics Interchange Format (*.gif)|" + "*.gif";
public const string AllImages = "Image file|" + "*.png; *.jpg; *.jpeg; *.jfif; *.bmp;*.tif; *.tiff; *.gif";
public const string AllFiles = "All files (*.*)" + "|*.*";
static FilesFilters()
{
imagesTypes = new List<string>();
imagesTypes.Add(Png);
imagesTypes.Add(Jpg);
imagesTypes.Add(Bmp);
imagesTypes.Add(Tif);
imagesTypes.Add(Gif);
}
OBS: C'è qualche filtri predefiniti in .NET o una libreria libera per questo?
Ho bisogno di un metodo statico che controlli se una stringa è un'immagine o meno. Come risolverebbe questo?
//ext == Path.GetExtension(yourpath)
public static bool IsImageExtension(string ext)
{
return (ext == ".bmp" || .... etc etc...)
}
Soluzione con Jeroen Vannevel EndsWith. Penso che sia ok.
public static bool IsImageExtension(string ext)
{
return imagesTypes.Contains(ext);
}
si potrebbe anche prendere in considerazione di farlo entro il [rilevare il tipo MIME] (http://stackoverflow.com/questions/15300567/ alternative-to-findmimefromdata-method-in-urlmon-dll-one-which-has-more-mime-typ), è più "degna di fiducia" che estensione del file, –