源代码例如以下:

     #region 保存纵断面截图private void button_save_Click(object sender , EventArgs e){SaveFileDialog saveImageDialog = new SaveFileDialog();saveImageDialog.Title = "保存纵断面图";saveImageDialog.DefaultExt = ".png";saveImageDialog.FileName = Linefeaturelayer.Name + "纵断面图";saveImageDialog.InitialDirectory = "C:\\";DialogResult dr = saveImageDialog.ShowDialog();if (dr==DialogResult.OK){CaptureImage(saveImageDialog.FileName);MessageBox.Show("保存成功。");}}private void CaptureImage(string path){try{//获得当前屏幕的大小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);//得到屏幕的DCIntPtr dc1 = g1.GetHdc();//得到Bitmap的DC IntPtr dc2 = g2.GetHdc();//调用此API函数。实现屏幕捕获BitBlt(dc2 , 0 , 0 , rect.Width , rect.Height , dc1 , 0 , 0 , 13369376);//释放掉屏幕的DCg1.ReleaseHdc(dc1);//释放掉Bitmap的DC g2.ReleaseHdc(dc2);//以JPG文件格式来保存MyImage.Save(path , ImageFormat.Png);}catch (System.Exception ex){MessageBox.Show(ex.Message + " 保存图片失败。"); }}//声明一个API函数[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  // 光栅的处理数值);#endregion

效果图:

转载于:https://www.cnblogs.com/yxwkf/p/5314576.html

C# 保存窗口为图片(保存纵断面图)相关推荐

  1. css禁止图片保存,CSS的图片保存后面目全非?教你快速解决

    什么叫"CSS中的图片"? 简单的说就是镶在CSS样式表中的图片.当我们用浏览器的"另存为"功能保存网页时,由于很多写在CSS样式表里面的图片都下载不到,所以会 ...

  2. CSharpGL(19)用glReadPixels把渲染的内容保存为PNG图片(C#)

    CSharpGL(19)用glReadPixels把渲染的内容保存为PNG图片(C#) 效果图 本文解决了将OpenGL渲染出来的内容保存到PNG图片的方法. 下载 CSharpGL已在GitHub开 ...

  3. matlab guide 将matlab处理过的图片保存

    最近又用到matlab做GUI,之前学的全忘了,还好两年前留了大实验源码. 这次我来分析如何将matlab处理过的图片保存. 实验效果 经过灰度转换,图象被处理,并显示到另一个地方. 点击保存 图片被 ...

  4. java word转图片tiff_Word 2010中将文档保存为TIFF图片的方法

    在Word 2003以前的Word版本中,用户可以通过"Microsoft Office Document Image Writer"打印机将Word文档保存为TIFF图片.但是在 ...

  5. Activiti保存.png 流程图片文件且解决idea中保存图片时显示中文乱码的解决方法

    Activiti保存.png 流程图片文件且解决idea中保存图片时显示中文乱码的解决方法 Eclipse 工具中的操作 流程图片生成的两种方式: 使用 activiti-designer 设计流程图 ...

  6. 初学OpenCV:用本地摄像头拍照并保存为灰度图片

    初学OpenCV 用本地摄像头拍照并保存为灰度图片 import cv2 as cvdef openVideo():vix = cv.VideoCapture(0) #打开摄像头while True: ...

  7. UE4 如何将TextureRenderTarget2D保存为本地图片

    昨日不可追, 今日尤可为.勤奋,炽诚,不忘初心 UE4 如何将TextureRenderTarget2D保存为本地图片 如果想要将材质保存为本地Png,请点这里: UE4 如何将材质Material保 ...

  8. wx.saveImageToPhotosAlbum将图片保存到本地

    首先在app.js中获取相册授权 //获取相册授权 wx.getSetting({ success(res) { if (!res.authSetting[ 'scope.writePhotosAlb ...

  9. MATLAB 保存imshow绘制图片到指定文件夹中的两种方法

    MATLAB 保存imshow绘制图片到指定文件夹中的两种方法 imwrite函数 imwrite(image,filename) imwrite(image,filename)是将图像数据image ...

最新文章

  1. 度量、符号、转换关系
  2. 网络编程2之Socket简介和java.net包
  3. 收到了7封拒信的观后感哈哈哈哈哈哈哈哈哈哈
  4. 操作系统——MiniDos
  5. python词云的简单使用
  6. 【.NET框架】—— ASP.NET MVC5路由基础(五)
  7. mqadmin命令运行出错
  8. oracle 等待sql,oracle sql 锁,锁等待相关sql
  9. 2019春Python程序设计测试(20190611--20190611)
  10. IIS7的Gzip压缩模式和IIS6的Gzip压缩模式性能对比 【转】
  11. spring 常用注解以分类
  12. [原] Android快速开发框架-AndroidFine,GitHub开源
  13. 线性回归(一):一元线性回归(附python实现)
  14. Postman 中文包使用
  15. URAL 1069 Prufer Code 优先队列
  16. GoLang之浅析unsafe.Pointer与uintptr
  17. 硬盘出现坏道以及处理方法
  18. HTTP基础知识(仅介绍涉及R语言爬虫部分)
  19. 终于来了~微信车载版正式上线~
  20. Unity Loading转场学习笔记

热门文章

  1. 【我参加NVIDIA Sky Hackathon】CV篇
  2. FET335X核心板 序---用飞凌AM335X开始工作了
  3. C语言中的EOF和feof()
  4. Error contacting service. It is probably not running.
  5. vsftpd failed - probably invalid config.
  6. 什么是马甲APP?怎么用马甲APP导流
  7. 输入名字显示其电话号码
  8. Win11远程桌面连接怎么打开?Win11远程桌面连接的五种方法
  9. 格局,注定了你的层次和结局!
  10. solaris服务器系统,Sun Solaris系统服务器RAID-5数据恢复实例分析