0
点赞
收藏
分享

微信扫一扫

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

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

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

一、函数输入

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

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

二、函数输出

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

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

编辑

三、使用示例

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

C# Winform截图指定控件范围内的图像_缩放_02

编辑

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

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

3、查看结果

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

编辑

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

编辑

函数源码如下:

/// <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);
        }



举报

相关推荐

0 条评论