首页 > 编程语言 >C#在Winform中截图指定控件中的内容生成图像

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

时间:2024-09-24 16:28:58浏览次数:11  
标签:control 控件 截图 C# 指定 bounds bitmap 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);
        }


标签:control,控件,截图,C#,指定,bounds,bitmap,Winform
From: https://blog.51cto.com/u_17026129/12100762

相关文章

  • 存算分离+双集群容灾丨云和恩墨与华为共同发布 MogDB × OceanStor Dorado 联合解决方
    引言为期三天的第九届华为全联接大会(HUAWEICONNECT2024)于9月19日在上海世博中心&展览馆盛大召开。本次大会以“共赢行业智能化”为主题,邀请思想领袖、商业精英、技术专家、合作伙伴、开发者等业界同仁,从战略、产业、生态等方面探讨如何通过智能化、数字化技术,赋能千行万业,把握新......
  • C# 线程(Thread)
    一、基本概念1、进程首先打开任务管理器,查看当前运行的进程:从任务管理器里面可以看到当前所有正在运行的进程。那么究竟什么是进程呢?进程(Process)是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源。一个正在运行的应用程序在操作系统中被视为一个进程,进程可......
  • PbootCMS 运行环境要求
    PbootCMS的运行环境要求如下:1.PHP版本要求PbootCMS需要PHP5.4或更高版本。支持最新的PHP7.0、7.1、7.2版本(截至2018年9月30日的信息,实际上现在可能支持更高版本的PHP)。2.需要开启的PHP扩展为了保证PbootCMS的所有功能都能正常使用,以下PHP扩展应该被启用:php_curl.dll:......
  • COMTRADE 录波文件 | 可视化工具 | 电能质量查看软件
    COMTRADE录波文件|可视化工具|电能质量查看软件主要功能介绍支持IEEEStdC37.111-1991/1999/2013规范。读取ASCII或二进制COMTRADE文件。查看来自COMTRADE配置文件的模拟和数字通道列表。将图表导出为SVG、BMP、JPEG和PNG图形格式。将显示的观察结果以CSV文件......
  • Ubuntu 上安装 Miniconda
    一、下载Miniconda打开终端。访问Anaconda官方仓库下载页面https://repo.anaconda.com/miniconda/选择Miniconda3-py310_24.7.1-0-Linux-x86_64.sh,进行下载。文件名当中的py310_24.7.1表示,在conda的默认的base环境中的Python版本是3.10,Miniconda版本是24.7.1。二......
  • ABC245G Foreign Friends 题解 / 二进制分组
    ABC245GForeignFriends题解回顾一下二进制分组。题目大意给定一张\(N\)个点\(M\)条边的无向图,及\(L\)个特殊点。每个点有颜色\(C_i\)。求每个点到离他最近的与他颜色不同特殊点的距离。Solve两个点颜色不同,等价于他们的颜色在二进制下至少有一位不同。所以我们考......
  • PHY6252 国产低功耗蓝牙5.2 SOC芯片 智能手环/智能家居方案 智能照明
    PHY6252国产低功耗蓝牙5.2SOC芯片智能手环/智能家居方案智能照明应用领域智能穿戴设备智能家居智能照明智能电表医疗健康智能楼宇智慧工业遥控器等SSOP24PHY6252是一款支持BLE5.2功能的系统级芯片(SoC),集成了低功耗的高性能多模射频收发机,搭载32位......
  • 【Vulfocus】struts2-cve_2017_9791漏洞复现
    一、漏洞介绍1.靶场地址:https://vulfocus.cn/2.漏洞名称:Struts2S2-048远程命令执行漏洞3.漏洞描述:Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。攻击者构造恶意字段......
  • JVM内存区域详解及DirectByteBuffer内存
    Java虚拟机(JVM)是Java程序运行的基础,它为Java程序提供了一个与平台无关的执行环境。JVM内存区域的划分对于理解Java程序的运行机制至关重要。本文将详细介绍JVM的内存区域,并探讨对外内存中的DirectByteBuffer。方法区(MethodArea)方法区是JVM中所有线程共享的内存区域。它主......
  • 概率分布深度解析:PMF、PDF和CDF的技术指南
    本文将深入探讨概率分布,详细阐述概率质量函数(PMF)、概率密度函数(PDF)和累积分布函数(CDF)这些核心概念,并通过实际示例进行说明。在深入探讨PMF、PDF和CDF之前,有必要先简要介绍两种常用的概率分布:正态分布和均匀分布。正态分布:也称为高斯分布或钟形曲线,正态分布以其均值为中心对称。它......