jjzjj

bmpScreen

全部标签

windows - 为什么要这样计算位图大小?

我正在阅读与捕获图像相关的Window示例。文章位于http://msdn.microsoft.com/en-us/library/dd183402(v=vs.85).aspx.让我印象深刻的一件事是位图大小的计算。是这样的:DWORDdwBmpSize=((bmpScreen.bmWidth*bi.biBitCount+31)/32)*4*bmpScreen.bmHeight;我希望它更像这样:DWORDdwBmpSize=bmpScreen.bmWidth*bmpScreen.bmHeight*bi.biBitCount/8;有人介意解释一下前者的观点吗?谢谢!

c++ - 在 win7 下,为 opengl 窗口捕获的图像是黑色的

我在主窗口上有几个子窗口,有的是GDI窗口,有的是opengl渲染的窗口,一个功能是用rect截取图像(可能覆盖不同的窗口组合)。此功能在windowsxp下工作正常。但是在windows7下,所有opengl渲染的窗口都是黑色的。我做了一些研究,有人说gdi不能通过窗口DC直接访问帧缓冲区,必须使用glReadPixels来组合位图。然而,这种方法很尴尬,因为我必须分别组合该矩形中的每个窗口。谁有更好的选择?这是我捕获bmp的代码:voidMainWndClass::catchBmp(constchar*path_fn,booldrawAreaOnly/*=0*/){CDC*pDC=