手机
当前位置:查字典教程网 >编程开发 >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#初学简单程序实例代码介绍

winfrom 在业务层实现事务控制的小例子

C# 合并GriewView相同列的小例子

c#图片添加水印的实例代码

C# 实现简单打印的实例代码

C#实现大数字运算的实例代码

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

C# WinForm程序完全退出的问题解决

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

精品推荐
分类导航