相关疑难解决方法(0)

如何计算位图大小?

开始研究专门针对Windows的屏幕捕获软件.在MSDN上查看捕获图像的示例时,我发现自己有点困惑.

当我提到不包含与实际文件相关联的标题等的位图的大小时,请记住.我在谈论原始像素数据.我本以为应该是公式(width*height)*bits-per-pixel.但是,根据示例,这是计算大小的正确方法:

DWORD dwBmpSize = ((bmpScreen.bmWidth * bi.biBitCount + 31) / 32) * 4 * bmpScreen.bmHeight;
Run Code Online (Sandbox Code Playgroud)

和或: ((width*bits-per-pixel + 31) / 32) * 4 * height

我不明白为什么有额外的计算涉及31,324.也许填充?我不确定,但任何解释都会非常感激.我已经尝试过谷歌搜索,但没有找到任何特别有用的结果.

c++ math winapi bitmap

1
推荐指数
1
解决办法
1038
查看次数

标签 统计

bitmap ×1

c++ ×1

math ×1

winapi ×1