加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

读取图像并确定其损坏的C#

发布时间:2020-12-15 04:26:48 所属栏目:百科 来源:网络整理
导读:如何确定我作为原始字节的图像是否已损坏.是否有任何开源库可以在C#中处理多种格式的此问题? 谢谢 解决方法 尝试从文件创建GDI位图.如果创建Bitmap对象失败,则可以假设图像已损坏. GDI支持多种 file formats:BMP,GIF,JPEG,Exif,PNG,TIFF. 像这个函数应该工
如何确定我作为原始字节的图像是否已损坏.是否有任何开源库可以在C#中处理多种格式的此问题?

谢谢

解决方法

尝试从文件创建GDI位图.如果创建Bitmap对象失败,则可以假设图像已损坏. GDI支持多种 file formats: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;
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读