C# 多重截图

C# 多重截图,c#,asp.net,.net,winforms,screenshot,C#,Asp.net,.net,Winforms,Screenshot,我正在尝试制作一个应用程序,它可以用不同的名称拍摄多个屏幕截图,并将它们保存在我的桌面上或任何地方 谁能帮帮我吗。我想我可以使用循环,但我不知道怎么做 我有这个截图代码: Bitmap bmp = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height); using (Graphics g = Graphics.FromImage(bmp)) { g.CopyFromScreen(

我正在尝试制作一个应用程序,它可以用不同的名称拍摄多个屏幕截图,并将它们保存在我的桌面上或任何地方

谁能帮帮我吗。我想我可以使用循环,但我不知道怎么做

我有这个截图代码:

Bitmap bmp = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
using (Graphics g = Graphics.FromImage(bmp))
{
    g.CopyFromScreen(0, 0, 0, 0, Screen.PrimaryScreen.Bounds.Size);
    bmp.Save("screenshot.png");  // saves the image
}

您需要创建一个位图数组,然后使用for循环创建屏幕截图,并使用循环索引命名它们

然后使用位图保存它。保存(位置)

差不多

Bitmap[] screenshot = new Bitmap[10];
String name = "Screenshot";    

for(int i = 0; i < 10 ; i++)
{

 screenshot[i] = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
 screenshot[i].Save("PATH" + name + i);

}
Bitmap[]屏幕截图=新位图[10];
String name=“屏幕截图”;
对于(int i=0;i<10;i++)
{
屏幕截图[i]=新位图(Screen.PrimaryScreen.Bounds.Width,Screen.PrimaryScreen.Bounds.Height);
屏幕截图[i]。保存(“路径”+name+i);
}

您计划如何限制屏幕截图的数量?你希望它只拍5张截图(或者你决定的任何数字)?它应该一直运行直到用户按下按钮吗?还有什么?我已经编辑了你的标题。请看“”,其中的共识是“不,他们不应该”。你需要多久拍一次截图?你可能需要一个定时器控制器。我想你的答案对我来说是最好的。我会试着告诉你发生了什么。但我还面临着一个问题,那就是一次拍摄所有照片:(我不需要在一分钟内拍摄一张照片)使用System.Threading.thread.Sleep(60000);在for循环结束时,或者更好的情况下,您应该使用计时器,并将屏幕截图代码放置在timer_Tick事件中。我使用计时器,但如何更改名称我遇到了这个问题。当计时器运行时,它会替换旧的pictureWell,这是因为您用于保存屏幕截图的文件名保持不变。您需要使用一个打开的变量每个勾号,就像一个计数器。在每个循环的计数器中添加一个,并将计数器值添加到文件名中。