代码如下:
usingSystem.Runtime.InteropServices;
usingSystem.Drawing.Imaging;
[System.Runtime.InteropServices.DllImportAttribute(“gdi32.dll”)]
privatestaticexternboolBitBlt(
IntPtrhdcDest, // 目标 DC的句柄
intnXDest,
intnYDest,
intnWidth,
intnHeight,
IntPtrhdcSrc, // 源DC的句柄
intnXSrc,
intnYSrc,
System.Int32dwRop // 光栅的处理数值
);
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#截图程序类似腾讯QQ截图实现代码解决C#截取当前程序窗口指定位置截图的实现方法解决C#全屏幕截图的实现方法C#实现网页截图功能对指定的网页进行截图的效果C#版c#控件截图的简单实例C#实现通过ffmpeg从flv视频文件中截图的方法C#实现类似qq的屏幕截图程序C#实现属于自己的QQ截图工具C#实现QQ截图功能及相关问题
关于统计数字问题的算法
C/C++编译器GCC下的常用编译命令上述就是C#学习教程:c#实现winform屏幕截图并保存的示例分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/905334.html