Winform屏幕截图保存C#代码

代码如下:已在项目中实现:http://hovertree.com/h/bjaf/76q5yeli.htm

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

代码如下:

 1 using System.Runtime.InteropServices;
 2 using System.Drawing.Imaging;
 3 
 4  
 5 
 6     [System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")]
 7     private static extern bool BitBlt(
 8 
 9                     IntPtr hdcDest,   //   目标   DC的句柄   
10                     int nXDest,
11                     int nYDest,
12                     int nWidth,
13                     int nHeight,
14                     IntPtr hdcSrc,     //   源DC的句柄   
15                     int nXSrc,
16                     int nYSrc,
17                     System.Int32 dwRop     //   光栅的处理数值   
18                       ); 
19 
20  
21 
22   private   void   button1_Click(object   sender,   System.EventArgs   e)   
23   {   
24   //获得当前屏幕的大小   http://www.cnblogs.com/roucheng/
25   Rectangle   rect   =   new   Rectangle   (   )   ;   
26   rect   =   Screen.GetWorkingArea   (   this   )   ;   
27   //创建一个以当前屏幕为模板的图象   
28   Graphics   g1   =   this.CreateGraphics   (   )   ;   
29   //创建以屏幕大小为标准的位图     
30   Image   MyImage   =   new   Bitmap   (   rect.Width   ,   rect.Height   ,   g1   )   ;   
31   Graphics   g2   =   Graphics.FromImage   (   MyImage   )   ;   
32   //得到屏幕的DC   
33   IntPtr   dc1   =   g1.GetHdc   (   )   ;   
34   //得到Bitmap的DC     
35   IntPtr   dc2   =   g2.GetHdc   (   )   ;   
36   //调用此API函数,实现屏幕捕获   
37   BitBlt   (   dc2   ,   0   ,   0   ,   rect.Width   ,   rect.Height   ,   dc1   ,   0   ,   0   ,   13369376   )   ;   
38   //释放掉屏幕的DC   
39   g1.ReleaseHdc   (   dc1   )   ;   
40   //释放掉Bitmap的DC     
41   g2.ReleaseHdc   (   dc2   )   ;   
42   //以JPG文件格式来保存   
43   MyImage.Save   (   @"c:/Capture.jpg"   ,   ImageFormat.Jpeg   );   
44   MessageBox.Show   (   "当前屏幕已经保存为C盘的capture.jpg文件!"   )   ;   
45   }

 已在项目中实现:http://hovertree.com/h/bjaf/76q5yeli.htm

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120703.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • HOG特征提取_模式识别图像处理算法有哪些

    HOG特征提取_模式识别图像处理算法有哪些图像处理之特征提取:HOG特征简单梳理HOG方向梯度直方图,这里分解为方向梯度与直方图。一、方向梯度梯度:在向量微积分中,标量场的梯度是一个向量场。标量场中某一点上的梯度指向标量场增长最快的方向,梯度的长度是这个最大的变化率。更严格的说,从欧几里得空间Rn到R的函数的梯度是在Rn某一点最佳的线性近似。在这个…

    2022年10月26日
    0
  • 2010年最有价值做的16个广告联盟是_cpa广告联盟怎么做

    2010年最有价值做的16个广告联盟是_cpa广告联盟怎么做2010年最有价值做的16个广告联盟本篇文章来源于优乐智慧传媒-网络创富门户|www.youle668.cn原文链接:http://www.youle668.cn/article/20100326/71.html2010年谷歌退出中国内地,许多站长朋友一下子束手无策了,因为大多数人之前都是依靠adsense生存的,现在一下子说要走了,还真不知道怎样才好,其实也没必要太担心,所谓条条大路通…

    2022年9月16日
    0
  • python学习笔记 day22 面向对象(一)

    python学习笔记 day22 面向对象(一)1.人狗大战一个简单的小例子,定义一个Person(类)里面有人的很多属性,比如名字,性别,血量。攻击力,然后定义一个Dog(类),里面设置狗的很多属性,名字,血量,攻击力,种类等,然后又定义了两

    2022年7月6日
    15
  • navigator html_javascript:_dopostback什么意思

    navigator html_javascript:_dopostback什么意思1.navigator属性以及方法解析:属性描述IEFOappCodeName返回浏览器的代码名。419appMinorVersion返回浏览器的次级版本。4NoNoappName返回浏览器的名称。419appVersion返回浏览器的平台和版本信息。4

    2022年9月4日
    3
  • C#后台调用前台javascript的五种方法

    C#后台调用前台javascript的五种方法

    2021年8月21日
    55
  • hibernate执行原生sql_hibernate的find方法

    hibernate执行原生sql_hibernate的find方法如果查询返回多个值用list()方法[java] viewplaincopyprint?public void testQuery(){          Configuration config = new Configuration().configure();          SessionFactory factory =

    2022年9月3日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号