我刚刚开始使用win32 GDI编程,并且很难找到很好的参考。我有一个简单的应用程序,通过执行以下捕获屏幕:win32 - 如何将画面捕捉为8位或16位位图?
UINT32 x,y;
x = GetSystemMetrics(SM_CXSCREEN);
y = GetSystemMetrics(SM_CYSCREEN);
HDC hdc = GetDC(NULL);
HDC hdcScreen = CreateCompatibleDC(hdc);
HBITMAP hbmp = CreateCompatibleBitmap(hdc, x, y);
SelectObject(hdcScreen, hbmp);
BitBlt(hdcScreen, 0, 0, x, y, hdc, 0, 0, SRCCOPY)
ReleaseDC(NULL, hdc);
我捕捉兼容的位图,其中我的机器上是32位的。使用相同/相似的呼叫,我将如何捕捉8位的屏幕?那么16位呢?
那么转换为16位呢?这会改变什么? – Jon 2010-05-18 19:01:55
使用> 8位,您不需要为颜色表分配空间。因此,请忽略--- – 2010-05-18 19:08:14
以下的所有内容,谢谢Chris,这非常有帮助! – Jon 2010-05-18 19:10:18