源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

c#实现winform屏幕截图并保存的示例

  • 时间:2021-06-16 19:24 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:c#实现winform屏幕截图并保存的示例
[u]复制代码[/u] 代码如下:
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文件!"   )   ;     }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部