本实例代码实现了WinForm截屏保存为图片,亲测可行。

界面截图:

下载:http://hovertree.com/h/bjaf/scjyuanma.htm

以下代码可以实际运行,在项目HoverTreeCSJ中运行成功。

  1. /* 何问起 http://hovertree.com/hovertreescj/ */
  2. using System;
  3. using System.Drawing;
  4. using System.Drawing.Imaging;
  5. using System.IO;
  6. using System.Windows.Forms;
  7.  
  8. namespace HoverTreeSCJ.SCJForms.ToolForms
  9. {
  10. public partial class Form_GetScreen : Form
  11. {
  12. public Form_GetScreen()
  13. {
  14. InitializeComponent();
  15. }
  16.  
  17. private void button_getScreen_Click(object sender, EventArgs e)
  18. {
  19. FormWindowState h_currentState = MdiParent.WindowState;
  20. if (checkBox_isHide.Checked)
  21. {
  22. //MdiParent.Hide();
  23. //http://hovertree.com/h/bjaf/de7qg5wd.htm
  24. this.MdiParent.WindowState = FormWindowState.Minimized;
  25. }
  26.  
  27. //创建图象,保存将来截取的图象
  28. Bitmap image = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
  29. Graphics imgGraphics = Graphics.FromImage(image);
  30. //设置截屏区域 柯乐义
  31. imgGraphics.CopyFromScreen(, , , , new Size(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height));
  32. //保存
  33. SaveImage(image);
  34.  
  35. if (checkBox_isHide.Checked)
  36. {
  37. this.MdiParent.WindowState = h_currentState;
  38. // this.MdiParent.Show();
  39. }
  40. }
  41.  
  42. //保存图象文件
  43. private void SaveImage(Image image)
  44. {
  45. //http://hovertree.com/h/bjaf/ruwwcg2p.htm
  46. saveFileDialog_getScreen.FileName = "何问起截图" + DateTime.Now.ToFileTime();
  47. if (saveFileDialog_getScreen.ShowDialog(this) == DialogResult.OK)
  48. {
  49.  
  50. string fileName = saveFileDialog_getScreen.FileName;
  51. string extension = Path.GetExtension(fileName);
  52. if (extension == ".jpg")
  53. {
  54. image.Save(fileName, ImageFormat.Jpeg);
  55. }
  56. else
  57. {
  58. image.Save(fileName, ImageFormat.Bmp);
  59. }
  60. }
  61. }
  62. }
  63. }

转自:http://hovertree.com/h/bjaf/76q5yeli.htm

推荐:http://www.cnblogs.com/roucheng/p/DataGridView.html

http://hovertree.top

C#截屏的更多相关文章

  1. Linux系统安装MySql步骤及截屏

    ➠更多技术干货请戳:听云博客 如下是我工作中的记录,介绍的是linux系统下使用官方编译好的二进制文件进行安装MySql的安装过程和安装截屏,这种安装方式速度快,安装步骤简单! 需要的朋友可以按照如下 ...

  2. Android使用C++截屏并显示

    使用android底层自带的截屏源码进行修改后,将截取屏幕的内容再次显示在屏幕上,使屏幕呈现出暂停的效果. android自带的截屏代码在android\JB\frameworks\base\cmds ...

  3. FFmpeg 转码和截屏

    转码 (flv转码为MP4,libx264是MP4编码格式 , -b 3000k是码率,比特率) ffmpeg -i /home/ghr/mp4/mp4.flv -vcodec libx264 -b ...

  4. 使用Python中PIL图形库进行截屏

    目的:通过使用Python的一个图形库PIL(Python Image Library)对屏幕进行截图 步骤: 1.下载PIL(路径)并安装 2.新建文件“截屏.py”,右键Edit with IDL ...

  5. MonoGame 3.2 下,截屏与 Texture2D 的保存

    10月20日注:后来发现了这篇博文(英文),XNA 中的 Color 实际上是与 Alpha 值自左乘(premultiplied)的,这也解释了直接用 0xARGB 转译而颜色异常的原因. 注意,由 ...

  6. 纯C#实现屏幕指定区域截屏

    以前在别的地方见过一个通过调用系统API实现屏幕截图的例子,从内心来说我不太喜欢在C#代码中出现这种情况,现在什么都讲“和谐”,我觉得这种做法就是破坏了我们的“和谐”代码,呵呵,开玩笑,有的时候,不通 ...

  7. OpenGL 多视图与截屏

    最近看红宝书学习 OpenGL 一段时间了,写了简单的 demo 程序温习一下知识. 主要是 使用 glScissor 多视图显示画面和使用 glReadPixels 给画面截屏,使用显示列表(dis ...

  8. iOS检测用户截屏并获取所截图片

    iOS检测用户截屏并获取所截图片 微信可以检测到用户截屏行为(Home + Power),并在稍后点击附加功能按钮时询问用户是否要发送刚才截屏的图片,这个用户体验非常好.在iOS7之前, 如果用户截屏 ...

  9. asp.net调用客户端WebBrowser 进行网站地址截屏

    在asp.net网站中,如果要实现,在文本框中输入一个URL地址,就把该网页的页面整屏截下来,这段时间一直在研究这一块,在网上查了好多资料.自己又整合了一下. 其实也不是想象中的那么难.主要是通过调用 ...

随机推荐

  1. 我的第一段jQuery代码

    说起 jQuery,很多人可能觉得,不算什么,就是个js类库.而,对于我,下面这几行代码,是一个新的开始. 多年来,我一直在使用MooTools ,他面向对象,写起来结构清晰分明,都是在原生js的基础 ...

  2. ABP理论学习之启动配置

    返回总目录 本篇目录 配置ABP 配置模块 为模块创建配置 为了在应用启动时配置ABP和模块,ABP提供了一个基础设施. 配置ABP 配置ABP是在模块的PreInitialize事件中完成的.下面的 ...

  3. 三周,用长轮询实现Chat并迁移到Azure测试

    公司的OA从零开始进行开发,继简单的单点登陆.角色与权限.消息中间件之后,轮到在线即时通信的模块需要我独立去完成.这三周除了逛网店见爱*看动漫接兼职,基本上都花在这上面了.简单地说就是用MVC4基于长 ...

  4. 使用PM2将Node.js的集群变得更加容易

    介绍 众所周知,Node.js运行在Chrome的JavaScript运行时平台上,我们把该平台优雅地称之为V8引擎.不论是V8引擎,还是之后的Node.js,都是以单线程的方式运行的,因此,在多核心 ...

  5. zookeeper分布式锁原理

    一.分布式锁介绍分布式锁主要用于在分布式环境中保护跨进程.跨主机.跨网络的共享资源实现互斥访问,以达到保证数据的一致性. 二.架构介绍在介绍使用Zookeeper实现分布式锁之前,首先看当前的系统架构 ...

  6. Win8换成Win7系统问题小结(修改主板BIOS方法)

    问题描述: 笔记本电脑W8系统使用不习惯,想要换成W7系统,但不管是用光盘安装亦或是用U盘安装,在设置系统启动项的时候,选择从光盘启动或从U盘启动,但是回车点了之后没反应. 下面就说说问题的原因及解决 ...

  7. jquery做一些小的特效

    在文本框里输入内容到添加到下拉列表里,移除下拉里的内容 1 <!DOCTYPE html> <html> <head> <meta charset=" ...

  8. error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“MTd_StaticDebug”

    今日VS2012 C++编译出现一堆错误: > 正在生成代码... >Code.obj : error LNK2005: "public: __thiscall std::_Co ...

  9. android studio上的基本动画实现(第一篇)

    hello,各位小伙伴们,在很多小伙伴们刚刚开始学习android的时候,常常会有一些project里面需要有一些基本动画的插入,那么具体是要怎么实现呢?我们接下一起分析一下在android中的几种基 ...

  10. Npoi导出Excel 实战篇(Webform)

    开篇语 废话不多说,直接上遇到的问题 需求:在这个界面点击导出,导出页面数据,苦于没有做过webfrom项目,弄了半天还是没想到原生态的好方法,所以在网上看了下有没有导出的好例子,结果发现有人推荐使用 ...