读取图像并确定其损坏的C#
如何确定我作为原始字节的图像是否已损坏。 是否有任何开源库可以在C#中处理多种格式的此问题?
谢谢
尝试从文件中创建GDI +位图。 如果创建Bitmap对象失败,那么您可以假设图像已损坏。 GDI +支持多种文件格式 :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; } }
您可以将Exception
限制为ArgumentException
,但我会在进行切换之前先尝试一下。
编辑
如果你有一个byte[]
,那么这应该工作:
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; } }
您可以查看这些链接以获取主意。 第一个在这里; validation图像
第二个就在这里; 如何检查损坏的TIFF图像
抱歉,我不知道任何外部库。
上述就是C#学习教程:读取图像并确定其损坏的C#分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1041781.html