C#CopyFromScreen多次到同一文件

时间:2018-08-20 02:14:47

标签: c# image graphics screenshot

我正在尝试拍摄多个屏幕截图并将其保存到文件中。但是,屏幕截图的使用频率很高,为了不丢失任何截图,我当前的程序将为每个屏幕截图简单地创建一个新文件。理想情况下,该程序每次只需将最新的屏幕截图“附加”到单个文件中即可。

代码如下:

static Rectangle bounds = Screen.GetBounds(Point.Empty);
static Size rectSize = new Size(bounds.Width, bounds.Height);
    public static void takeScreenshot(string path, int iteration, string filetype)
    {
        using (Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height))
        {
            using (Graphics g = Graphics.FromImage(bitmap))
            {
                g.CopyFromScreen(Point.Empty, Point.Empty, new Size
                    (rectSize.Width * iteration, rectSize.Height));
            }
            bitmap.Save(path + filetype);
        }
    }

iteration是该方法被调用的次数。我试图仅将下一个屏幕截图移动一个屏幕截图的宽度,同时保留所有其他屏幕截图,但是无论如何它似乎会覆盖文件。可以这样做吗?

1 个答案:

答案 0 :(得分:0)

尝试一下。

string n = string.Format("{0:yyyy-MM-dd_hh-mm-ss-tt}", DateTime.Now);
bitmap.Save(path + n + filetype);