有没有比使用System.Drawing.Image.FromFile更快的方式从文件获取jpg图像的尺寸

时间:2015-04-23 17:00:57

标签: c# .net jpeg image-size

通过将所有文件数据读入图像,可以检索jpg文件中图像的宽度和高度。

System.Drawing.Image img = System.Drawing.Image.FromFile("a.jpg");
var w = img.Width
var h = img.Height

但这很昂贵,如果只需要宽度和高度,可能会有更好的方法。

所以我想知道是否有一种资源消耗较少的方式来获取图像尺寸。在我的(常见)场景中,jpg被上传到Web服务器,Web应用程序将获得宽度和高度并存储它。我认为,jpg文件格式可能具有宽度和高度作为易读的元数据,如果是这样,有人知道如何访问它。

1 个答案:

答案 0 :(得分:2)

您可能希望直接解析文件头而不是构建图像,宽度和高度都在那里 http://en.wikipedia.org/wiki/JPEG_File_Interchange_Format#File_format_structure