在.NET中获取图像的宽度和高度而无需加载图像?

4

与标题类似,这种情况可能吗?

我只需要宽度和高度,因此将图像加载到内存中将是不必要的。

4个回答

4

请看这个stackoverflow的问题:不读取整个文件获取图像尺寸

这里展示了如何从图像头中提取此信息,而不必读取整个文件。通常,图像文件在开头包含元数据,其中包含宽度和高度以及其他数据,因此这将是检索此信息的最快方法。


3
为什么这是一个回答而不是评论/关闭投票? - Matti Virkkunen

2

这里有一个示例代码链接,展示了如何读取图片头信息来获取宽度和高度,而无需加载和解码整个文件。不过,对于不同类型的图片,方法是不同的,如果您使用了一些比较特殊的东西,可能需要编写自己的代码。


1

只有手动读取二进制格式时才会返回。

另一个选项是,在将图像放入数据库时将图像尺寸保存在其中。这样,您就无需加载图像即可使用它们。


1
根据图像格式,您可以使用库(例如EXIF用于jpeg)提取元数据。
也许这个SO问题可能会有所帮助: 什么是.Net的最佳EXIF库?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接