0

ゲームから画像を取得するには高速が必要です。そして、私はこのような単純なスクリーンショットで試してみます:

        Rectangle bounds = Screen.GetBounds(Point.Empty);
        using (Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height))
        {
            using (Graphics g = Graphics.FromImage(bitmap))
            {
                g.CopyFromScreen(Point.Empty, Point.Empty, bounds.Size);
            }
            bitmap.Save("Screen.bmp");
        }  

しかし、スクリーンショットを取得した場合、10秒後に別のスクリーンショットを取得できる理由がわかりません...より高速な画像を撮影する方法が必要です。ゲームフレームを取るのがさらに良いでしょう。

4

3 に答える 3

1

私はこれをスレッド化することを検討します。

アイテムがビットマップスタックに移動するときにビットマップをメモリと別のスレッドに保存すると、一度に1つずつポップして、ディスクに保存できます。

このようにして、必要な数のスクリーンショットを撮り続けることができます

于 2012-06-15T13:44:33.457 に答える
0

この行を避けてください

using(Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height))

スクリーンショットを保存するためのすべての呼び出しで。グローバル変数として一度初期化するだけで、魔法を見ることができます。

于 2014-05-16T05:27:08.763 に答える
0

複数のスクリーンショットを取得する場合は、「frameCounter」を検討して、サイクルごとに合計する必要があります。

于 2015-05-20T12:56:12.690 に答える