C#实现定时全屏截图并且保存到预先设定好的文件夹中的代码示例
2015-04-12 15:39
746 查看
自定义一个截图函数,
public static void Snap(int x, int y, int width, int height)
{
try
{
//这段代码也可以实现截图
//Image image = new Bitmap(width, height);
//Graphics g = Graphics.FromImage(image);
//g.CopyFromScreen(x, y, 0, 0, new System.Drawing.Size(width, height));
//string hour = DateTime.Now.Minute.ToString();
//string second = DateTime.Now.Second.ToString();
//image.Save(ScreenshotPath + "\\" + hour + "_" + second + ".jpg");
Bitmap image = new Bitmap(GetSystemMetrics(0), GetSystemMetrics(1));
using (Graphics g = Graphics.FromImage(image))
{
g.CopyFromScreen(0, 0, 0, 0, image.Size);
g.Dispose();
string hour = DateTime.Now.Minute.ToString();
string second = DateTime.Now.Second.ToString();
image.Save(“C:” + "\\" + hour + "_" + second + ".jpg");
}
}
catch
{
}
}
然后在一个timerSrc_Tick 中调用自定义的截图函数,然后就会定时截图,保存到指定文件夹
private void timerSrc_Tick(object sender, EventArgs e)
{
Help.Snap(0, 0, Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
}
但是运行了这段代码之后细心的人可能发现可以实现截图,但是有一些软件打开之后是截不到的,比如你打开一个QQ登陆窗口,但是你发现截图中并没有QQ的登陆窗口,这个问题也是我写完之后无意间发现的问题,但是由于本人也是个菜鸟,所以如果要求不高的截图你可以参考,但是如果你需要截下屏幕上所有的图,你可以在这个代码的基础上在研究一下,顺便也给我一份代码,也学习一下,大家一起学习。希望会对大家有帮助
public static void Snap(int x, int y, int width, int height)
{
try
{
//这段代码也可以实现截图
//Image image = new Bitmap(width, height);
//Graphics g = Graphics.FromImage(image);
//g.CopyFromScreen(x, y, 0, 0, new System.Drawing.Size(width, height));
//string hour = DateTime.Now.Minute.ToString();
//string second = DateTime.Now.Second.ToString();
//image.Save(ScreenshotPath + "\\" + hour + "_" + second + ".jpg");
Bitmap image = new Bitmap(GetSystemMetrics(0), GetSystemMetrics(1));
using (Graphics g = Graphics.FromImage(image))
{
g.CopyFromScreen(0, 0, 0, 0, image.Size);
g.Dispose();
string hour = DateTime.Now.Minute.ToString();
string second = DateTime.Now.Second.ToString();
image.Save(“C:” + "\\" + hour + "_" + second + ".jpg");
}
}
catch
{
}
}
然后在一个timerSrc_Tick 中调用自定义的截图函数,然后就会定时截图,保存到指定文件夹
private void timerSrc_Tick(object sender, EventArgs e)
{
Help.Snap(0, 0, Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
}
但是运行了这段代码之后细心的人可能发现可以实现截图,但是有一些软件打开之后是截不到的,比如你打开一个QQ登陆窗口,但是你发现截图中并没有QQ的登陆窗口,这个问题也是我写完之后无意间发现的问题,但是由于本人也是个菜鸟,所以如果要求不高的截图你可以参考,但是如果你需要截下屏幕上所有的图,你可以在这个代码的基础上在研究一下,顺便也给我一份代码,也学习一下,大家一起学习。希望会对大家有帮助
相关文章推荐
- js实现截图保存图片功能的代码示例
- c#实现winform屏幕截图并保存的示例
- Asp.net 2.0 C#实现压缩/解压功能 (示例代码下载)
- C#实现使用HTTP管道的.NET远程代码示例
- 用TreeView控件实现资源管理器(显示本地硬盘下所有文件夹和文件,并可以浏览图片)(示例代码下载)
- Asp.net 2.0 C#实现压缩/解压功能 (示例代码下载)
- Asp.net 2.0 C#实现压缩/解压功能 (示例代码下载)
- 转载:Ajax 实现在WebForm中拖动控件并即时在服务端保存状态数据 (Asp.net 2.0)(示例代码下载)
- Asp.net 2.0 C#实现压缩/解压功能 (示例代码)
- C#实现数据库事务处理的简单示例代码
- 用TreeView控件实现资源管理器(显示本地硬盘下所有文件夹和文件,并可以浏览图片)(示例代码下载)
- Ajax 实现在WebForm中拖动控件并即时在服务端保存状态数据 (Asp.net 2.0)(示例代码下载)
- 用TreeView控件实现资源管理器(显示本地硬盘下所有文件夹和文件,并可以浏览图片)(示例代码下载)
- Ajax 实现在WebForm中拖动控件并即时在服务端保存状态数据 (Asp.net 2.0)(示例代码下载)
- C#下载文件时候弹出选择文件夹保存目录的代码
- C#实现数据库事务处理示例代码
- 转载:Asp.net 2.0 C#实现压缩/解压功能 (示例代码下载)
- Ajax 实现在WebForm中拖动控件并即时在服务端保存状态数据 (Asp.net 2.0)(示例代码下载)
- Ajax 实现在WebForm中拖动控件并即时在服务端保存状态数据 (Asp.net 2.0)(示例代码下载)
- Ajax 实现在WebForm中拖动控件并即时在服务端保存状态数据 (Asp.net 2.0)(示例代码下载)