手机
当前位置:查字典教程网 >编程开发 >C#教程 >c#实现winform屏幕截图并保存的示例
c#实现winform屏幕截图并保存的示例
摘要:复制代码代码如下:usingSystem.Runtime.InteropServices;usingSystem.Drawing.Imagi...

复制代码 代码如下:

using System.Runtime.InteropServices;

using System.Drawing.Imaging;

[System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")]

private static extern bool BitBlt(

IntPtr hdcDest, // 目标 DC的句柄

int nXDest,

int nYDest,

int nWidth,

int nHeight,

IntPtr hdcSrc, // 源DC的句柄

int nXSrc,

int nYSrc,

System.Int32 dwRop // 光栅的处理数值

);

private void button1_Click(object sender, System.EventArgs e)

{

//获得当前屏幕的大小

Rectangle rect = new Rectangle ( ) ;

rect = Screen.GetWorkingArea ( this ) ;

//创建一个以当前屏幕为模板的图象

Graphics g1 = this.CreateGraphics ( ) ;

//创建以屏幕大小为标准的位图

Image MyImage = new Bitmap ( rect.Width , rect.Height , g1 ) ;

Graphics g2 = Graphics.FromImage ( MyImage ) ;

//得到屏幕的DC

IntPtr dc1 = g1.GetHdc ( ) ;

//得到Bitmap的DC

IntPtr dc2 = g2.GetHdc ( ) ;

//调用此API函数,实现屏幕捕获

BitBlt ( dc2 , 0 , 0 , rect.Width , rect.Height , dc1 , 0 , 0 , 13369376 ) ;

//释放掉屏幕的DC

g1.ReleaseHdc ( dc1 ) ;

//释放掉Bitmap的DC

g2.ReleaseHdc ( dc2 ) ;

//以JPG文件格式来保存

MyImage.Save ( @"c:/Capture.jpg" , ImageFormat.Jpeg );

MessageBox.Show ( "当前屏幕已经保存为C盘的capture.jpg文件!" ) ;

}

【c#实现winform屏幕截图并保存的示例】相关文章:

c# 应用事务的简单实例

深入C# winform清除由GDI绘制出来的所有线条或图形的解决方法

winform树形菜单无限级分类实例

c#初学简单程序实例代码介绍

简介Winform中创建用户控件

C# Winform 实现屏蔽键盘的win和alt+F4的实现代码

c# 重载WndProc,实现重写“最小化”的实现方法

c# 控件截图的简单实例

c# winform多线程的小例子

C#实现ComboBox自动匹配字符

精品推荐
分类导航