我正在开发一个程序来调整BMP文件的大小并将其存储在一个新文件中。我注意到有些BMP完全颠倒存放,而其他BMP只是直立存放。所以我做了两个解决方案来处理这两种情况。我的问题是如何知道BMP是直接存放还是倒置存放?这样我就可以决定使用哪种解决方案,而不是每个BMP尝试两种解决方案!
答案 0 :(得分:7)
答案在于BITMAPINFOHEADER结构。
来自:http://msdn.microsoft.com/en-us/library/windows/desktop/dd318229(v=vs.85).aspx
对于未压缩的RGB位图,如果biHeight为正,则位图是自底向上的DIB,其原点位于左下角。如果biHeight为负数,则位图是一个自上而下的DIB,其原点位于左上角。