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 に答える