1

我想将我的“屏幕”保存在 bmp 中;但我认为我做错了,因为这段代码真的很慢:

HDC Win = GetDC(NULL);
for (j = 0; j < y; j++)
  for (i = 0; i < x; i++)
    img->data[j][i] = GetPixel(Win, i, j);
4

1 回答 1

6

CreateDIBSection使用指向原始位的指针创建位图,并BitBlt从屏幕进入创建的位图。这比逐像素查询更快,并且您可以使用常规指针访问内存中的所有数据。

有关代码片段,请参阅在 Windows 中执行全屏抓取。

于 2012-06-22T21:10:01.463 回答