我正在尝试拍摄多个屏幕截图并将其保存到文件中。但是,屏幕截图的使用频率很高,为了不丢失任何截图,我当前的程序将为每个屏幕截图简单地创建一个新文件。理想情况下,该程序每次只需将最新的屏幕截图“附加”到单个文件中即可。
代码如下:
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
是该方法被调用的次数。我试图仅将下一个屏幕截图移动一个屏幕截图的宽度,同时保留所有其他屏幕截图,但是无论如何它似乎会覆盖文件。可以这样做吗?
答案 0 :(得分:0)
尝试一下。
string n = string.Format("{0:yyyy-MM-dd_hh-mm-ss-tt}", DateTime.Now);
bitmap.Save(path + n + filetype);