C++ 未加载的图像尺寸

C++ 未加载的图像尺寸,c++,C++,我正在寻找一种方法来获取磁盘上图像的宽度和高度,而无需将整个图像加载到内存中 我需要支持BMP和PNG图像;TGA也很好 我已经在使用DirectX11、DirectX工具包、CxImage和Boost库,因此使用其中一个库来实现这一点非常好。但是,我也愿意为BMP使用另一个库,读入以获得宽度,字节22到25以获得高度 对于PNG,从文件的维度中读取,该维度看起来在文件的前八个字节和文件的八个字节之后开始。字节16到19表示宽度,字节20到23表示高度 同样,对于TGA,您可以将数据读入TGA头

我正在寻找一种方法来获取磁盘上图像的宽度和高度,而无需将整个图像加载到内存中

我需要支持BMP和PNG图像;TGA也很好

我已经在使用DirectX11、DirectX工具包、CxImage和Boost库,因此使用其中一个库来实现这一点非常好。但是,我也愿意为BMP使用另一个库,读入以获得宽度,字节22到25以获得高度

对于PNG,从文件的维度中读取,该维度看起来在文件的前八个字节和文件的八个字节之后开始。字节16到19表示宽度,字节20到23表示高度

同样,对于TGA,您可以将数据读入TGA头
struct
,然后取消引用struct实例的
width
height
属性

<>在C++中,可以使用标准的C/IO(例如,和)来打开、移动和读取文件指针中的字节。您不必读入整个文件:只需移动到正确的字节偏移量,然后读入正确的字节数。

对于BMP,读入以获得宽度,字节22到25以获得高度

对于PNG,从文件的维度中读取,该维度看起来在文件的前八个字节和文件的八个字节之后开始。字节16到19表示宽度,字节20到23表示高度

同样,对于TGA,您可以将数据读入TGA头
struct
,然后取消引用struct实例的
width
height
属性


<>在C++中,可以使用标准的C/IO(例如,和)来打开、移动和读取文件指针中的字节。您不必读入整个文件:只需移动到正确的字节偏移量,然后读入正确的字节数。

您在这里看过这个答案了吗?这似乎是同一个背景@斯蒂芬:是的,这是一个评论。感谢您对anks@iRebel_85的转换,这有助于实现。您在这里看到了这个答案吗?这似乎是同一个背景@斯蒂芬:是的,这是一个评论。感谢ConversionTanks@iRebel_85,这有助于实现我在打开文件时忘记添加二进制标志。更正的版本在这里,我在打开文件时忘记添加二进制标志。更正的版本在这里