C# Winform截图指定控件范围内的图像

embedded/2024/12/22 22:11:56/

  工作所需,需要截图软件跑出来的界面上的图表。但是窗口本身是可以缩放的,图表也是做的可以跟着窗体大小一起缩放。所以就写了一个函数,用于截图图表容器内的图像。

  函数源码放在了最后,看完使用方法后复制粘贴即可使用。

一、函数输入

输入有两个,参数一:需要截图的容器控件,参数二:保存截图的绝对路径路径

<param name="control">控件名</param>
<param name="addrName">保存图片地址(绝对路径)</param>

二、函数输出

函数无反馈值,但会在指定路径下生成bmp格式的截图文件

三、使用示例

1、需要截图的范围是tableLayoutPanel1容器控件中的四个图表,放置到"C:\\Users\\administrator\\Documents\\123__s.bmp"路径下

2、将参数放入,调用函数

 //CaptureControl(tableLayoutPanel1, "C:\\Users\\administrator\\Documents\\123__s.bmp");CaptureControl(tableLayoutPanel1, picPath);

3、查看结果

函数源码如下:

        /// <summary>/// 截图指定控件内图像/// </summary>/// <param name="control">控件名</param>/// <param name="addrName">保存图片地址(绝对路径)</param>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.ppmy.cn/embedded/125993.html

相关文章

C++竞赛初阶—— 石头剪子布

题目内容 石头剪子布&#xff0c;是一种猜拳游戏。起源于中国&#xff0c;然后传到日本、朝鲜等地&#xff0c;随着亚欧贸易的不断发展它传到了欧洲&#xff0c;到了近现代逐渐风靡世界。简单明了的规则&#xff0c;使得石头剪子布没有任何规则漏洞可钻&#xff0c;单次玩法比…

自然语言处理的未来:让机器“听懂”人类语言的奥秘

1. 引言 在数字化浪潮中&#xff0c;自然语言处理&#xff08;NLP&#xff09;已经成为人工智能的核心技术之一。无论是智能助手、翻译应用&#xff0c;还是社交媒体的情感分析&#xff0c;NLP正以不可思议的速度改变我们的生活。根据市场研究&#xff0c;NLP的市场规模预计将…

[CCPC 2023 北京市赛] 图 洛谷10048

洛谷10048 [CCPC 2023 北京市赛] 图 题目描述 给定一个 n n n 个点的无向正权完全图&#xff0c;请对于每一条边 ( a , b ) (a,b) (a,b)&#xff0c;求出是否存在一个点对 ( x , y ) (x,y) (x,y) 使得 x → y x\rightarrow y x→y 的所有最短路都经过 ( a , b ) (a,b) …

PyTorch安装

1.进入PyTorch官方页面https://pytorch.org/ 2.点击“Get started”&#xff0c;选择合适版本 3.复制代码安装 4.输入“y”继续运行 5.显示“done”安装成功

MySQL C/C++ 的 API

MySQL 提供了一个用于 C/C 的 API&#xff0c;称为 MySQL Connector/C。该 API 允许通过 C/C 程序与 MySQL 数据库进行交互。 函数名称参数返回值描述mysql_initMYSQL *mysqlMYSQL *初始化一个 MySQL 对象&#xff0c;用于连接 MySQL 服务器。mysql_real_connectMYSQL *mysql,…

JavaScript 命令模式实战:打造可撤销的操作命令

一. 前言 在前端开发中&#xff0c;命令模式&#xff08;Command Pattern&#xff09;作为一种行为型设计模式&#xff0c;可以帮助我们将请求封装成一个对象&#xff0c;从而实现调用对象和执行对象之间的解耦&#xff0c;方便扩展和修改。 本文将和大家分享 JavaScript 中的…

Linux操作系统小项目——实现《进程池》

文章目录 前言&#xff1a;代码实现&#xff1a;原理讲解&#xff1a;细节处理&#xff1a; 前言&#xff1a; 在前面的学习中&#xff0c;我们简单的了解了下进程之间的通信方式&#xff0c;目前我们只能知道父子进程的通信是通过匿名管道的方式进行通信的&#xff0c;这是因…

美团Java一面

美团Java一面 9.24一面&#xff0c;已经寄了 收到的第一个面试&#xff0c;表现很不好 spring bean生命周期 作用域&#xff08;忘完了&#xff09; 为什么用redis缓存 redis和数据库的缓存一致性问题 redis集群下缓存更新不一致问题 aop说一下 arraylist和linkedlist 数据库的…