deneyin dosyasından bir GDI + Bitmap oluşturun. Bitmap nesnesinin oluşturulması başarısız olursa, görüntünün bozuk olduğunu varsayabilirsiniz. GDI +, file formats sayısını destekler: BMP, GIF, JPEG, Exif, PNG, TIFF.
public bool IsValidGDIPlusImage(string filename)
{
try
{
using (var bmp = new Bitmap(filename))
{
}
return true;
}
catch(Exception ex)
{
return false;
}
}
Sen Exception
sadece ArgumentException
sınırlamak mümkün olabilir, ama geçiş yapmadan önce ilk deneme olacaktır: Bu işlev gibi
şey çalışmalıdır. Eğer bir byte[]
varsa
DÜZENLEME
, o zaman bu çalışması gerekir:
public bool IsValidGDIPlusImage(byte[] imageData)
{
try
{
using (var ms = new MemoryStream(imageData))
{
using (var bmp = new Bitmap(ms))
{
}
}
return true;
}
catch (Exception ex)
{
return false;
}
}
Hangi görüntü biçimlerini desteklemeniz gerekiyor? Eğer sadece temel 4 (bmp/png/gif/jpg) ise, bitmap sınıfını kullanabilir ve sadece yüklemeyi deneyebilirsiniz. – Will
olası yinelenmesi [Nasıl C#/.Net bir JPEG resmi doğrulayın yanlış değil] (http://stackoverflow.com/questions/1173349/how-do-i-validate-a-jpeg-image-in- c-keskin-net-bozuk değil) – V4Vendetta
Soruyu düzenledim. –