C#获取快速截图或应用程序框架

时间:2012-06-15 13:24:33

标签: c# screenshot frame

我需要快速从游戏中获取图像。我尝试使用这样的简单屏幕截图:

        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秒后得到另一个... 需要一种方法来拍摄更快的图像。 采取游戏框架会更好。

3 个答案:

答案 0 :(得分:1)

我会考虑将其删除。

将位图保存在内存和单独的线程中,当项目转到BitMap Stack时,您可以一次弹出一个并保存到磁盘。

通过这种方式,您可以随意拍摄尽可能多的屏幕截图

答案 1 :(得分:0)

避免使用此行

using(Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height))
每次调用保存屏幕截图

。 只需将其初始化为一个全局变量,就可以看到它的魔力。

答案 2 :(得分:0)

如果您想抓取多个屏幕截图,可能需要考虑“frameCounter”并在每个周期添加它。