C# 保存窗口为图片(保存纵断面图)
源代码例如以下:
#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# 保存窗口为图片(保存纵断面图)相关推荐
- css禁止图片保存,CSS的图片保存后面目全非?教你快速解决
什么叫"CSS中的图片"? 简单的说就是镶在CSS样式表中的图片.当我们用浏览器的"另存为"功能保存网页时,由于很多写在CSS样式表里面的图片都下载不到,所以会 ...
- CSharpGL(19)用glReadPixels把渲染的内容保存为PNG图片(C#)
CSharpGL(19)用glReadPixels把渲染的内容保存为PNG图片(C#) 效果图 本文解决了将OpenGL渲染出来的内容保存到PNG图片的方法. 下载 CSharpGL已在GitHub开 ...
- matlab guide 将matlab处理过的图片保存
最近又用到matlab做GUI,之前学的全忘了,还好两年前留了大实验源码. 这次我来分析如何将matlab处理过的图片保存. 实验效果 经过灰度转换,图象被处理,并显示到另一个地方. 点击保存 图片被 ...
- java word转图片tiff_Word 2010中将文档保存为TIFF图片的方法
在Word 2003以前的Word版本中,用户可以通过"Microsoft Office Document Image Writer"打印机将Word文档保存为TIFF图片.但是在 ...
- Activiti保存.png 流程图片文件且解决idea中保存图片时显示中文乱码的解决方法
Activiti保存.png 流程图片文件且解决idea中保存图片时显示中文乱码的解决方法 Eclipse 工具中的操作 流程图片生成的两种方式: 使用 activiti-designer 设计流程图 ...
- 初学OpenCV:用本地摄像头拍照并保存为灰度图片
初学OpenCV 用本地摄像头拍照并保存为灰度图片 import cv2 as cvdef openVideo():vix = cv.VideoCapture(0) #打开摄像头while True: ...
- UE4 如何将TextureRenderTarget2D保存为本地图片
昨日不可追, 今日尤可为.勤奋,炽诚,不忘初心 UE4 如何将TextureRenderTarget2D保存为本地图片 如果想要将材质保存为本地Png,请点这里: UE4 如何将材质Material保 ...
- wx.saveImageToPhotosAlbum将图片保存到本地
首先在app.js中获取相册授权 //获取相册授权 wx.getSetting({ success(res) { if (!res.authSetting[ 'scope.writePhotosAlb ...
- MATLAB 保存imshow绘制图片到指定文件夹中的两种方法
MATLAB 保存imshow绘制图片到指定文件夹中的两种方法 imwrite函数 imwrite(image,filename) imwrite(image,filename)是将图像数据image ...
最新文章
- 度量、符号、转换关系
- 网络编程2之Socket简介和java.net包
- 收到了7封拒信的观后感哈哈哈哈哈哈哈哈哈哈
- 操作系统——MiniDos
- python词云的简单使用
- 【.NET框架】—— ASP.NET MVC5路由基础(五)
- mqadmin命令运行出错
- oracle 等待sql,oracle sql 锁,锁等待相关sql
- 2019春Python程序设计测试(20190611--20190611)
- IIS7的Gzip压缩模式和IIS6的Gzip压缩模式性能对比 【转】
- spring 常用注解以分类
- [原] Android快速开发框架-AndroidFine,GitHub开源
- 线性回归(一):一元线性回归(附python实现)
- Postman 中文包使用
- URAL 1069 Prufer Code 优先队列
- GoLang之浅析unsafe.Pointer与uintptr
- 硬盘出现坏道以及处理方法
- HTTP基础知识(仅介绍涉及R语言爬虫部分)
- 终于来了~微信车载版正式上线~
- Unity Loading转场学习笔记
热门文章
- 【我参加NVIDIA Sky Hackathon】CV篇
- FET335X核心板 序---用飞凌AM335X开始工作了
- C语言中的EOF和feof()
- Error contacting service. It is probably not running.
- vsftpd failed - probably invalid config.
- 什么是马甲APP?怎么用马甲APP导流
- 输入名字显示其电话号码
- Win11远程桌面连接怎么打开?Win11远程桌面连接的五种方法
- 格局,注定了你的层次和结局!
- solaris服务器系统,Sun Solaris系统服务器RAID-5数据恢复实例分析