「画面」を 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);
「画面」を 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);
CreateDIBSection
生のビットへのポインターを使用してビットマップを作成し、BitBlt
画面から作成されたビットマップに移動します。これは、ピクセルごとのクエリよりも高速に機能し、通常のポインターを使用してメモリ内のすべてのデータにアクセスできます。
コード スニペットについては、Windows でのフル スクリーン グラブの実行を参照してください。