当前位置: 首页 > article >正文

C#在Winform中截图指定控件中的内容生成图像

  开发上位机过程中,收到需求:在软件跑完数据之后保存报告和图表截图。因为界面控件都做了大小拉伸缩放的适配,所以简单的设置截图起始点和长宽时无法满足需求的。所以要做一个根据控件本身大小来做截取动作的功能,所以我写了一个截取指定控件内图像的函数。

  函数如下,只需传入控件,和存储图像的地址。即可将指定控件内的图像截取并保存到指定路径,这里的control我一般传入一个容器控件(控件中可能包含表格、图表、标签之类的内容)。

 public void CaptureControl(Control control, string addrName)
        {
            // 获取控件的位置和尺寸
            Rectangle bounds = control.Bounds;

            // 创建一个位图对象
            Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height);

            // 将控件绘制到位图上
            control.DrawToBitmap(bitmap, new Rectangle(0, 0, bounds.Width, bounds.Height));

            //按指定名称存储到路径下
            bitmap.Save(addrName, System.Drawing.Imaging.ImageFormat.Bmp);
        }


http://www.kler.cn/a/300863.html

相关文章:

  • 镭速大文件传输视频文件预览实现原理
  • 【JavaEE进阶】SpringMVC 响应
  • 你喜欢用什么编辑器?
  • Kylin Linux V10 替换安装源,并在服务器上启用 EPEL 仓库
  • JAVA:在IDEA引入本地jar包的方法(不读取maven目录jar包)
  • <OS 有关>Ubuntu 24 安装 openssh-server, tailscale+ssh 慢增加
  • QGis二次开发 —— 3、程序加载栅格tif与矢量shp文件可进行切换控制,可进行导出/导入工程(附源码)
  • 基于SpringBoot+Vue的小区停车场管理系统
  • 机器学习--支持向量机(SVM)
  • 数据分析-螺旋环状气泡图
  • 聊一下测试计划
  • 安卓开发中LiveData的使用
  • 力扣 55题 跳跃游戏 记录
  • 外贸|基于Java+vue的智慧外贸平台系统(源码+数据库+文档)
  • 国家网络安全宣传周 | 2024年网络安全领域重大政策法规一览
  • 【截图服务 +打包】pkg打包 puppeteer
  • iOS 打包上传保存You do not have required contracts to perform an operation
  • 深入了解CSS混合模式
  • 使用 FHE 实现加密大语言模型
  • 机器人--手眼标定算法
  • Android - NDK:jni传递数组参数,获取数组的返回值
  • 【Hot100】LeetCode—300. 最长递增子序列
  • 【Python】selenium实现滚动条滑动效果
  • 市面上有哪些高效财税自动化软件
  • CCF推荐B类会议和期刊总结:(计算机网络领域)
  • 在人工智能与机器学习领域的深度探索:技术价值的全面剖析与产品经理的角色深化