首页 > 其他分享 >Winform保存控件到图片

Winform保存控件到图片

时间:2022-12-03 12:33:21浏览次数:42  
标签:control 控件 保存 height width bmp var Winform

Winform将控件保存为图片比较简单,因为Control类本身就有DrawToBitmap方法,可以将控件本身输出到图片中。

此外,还可以通过Graphics类的CopyFromScreen方法将屏幕的指定区域拷贝到指定位图中,只是这种方式对窗口类比较适用,而且会保留窗口的阴影部分,因此对于截取控件图片不是很完美。

1、DrawToBitmap

/// <summary>
/// 保存控件到图片
/// </summary>
/// <param name="control">控件对象</param>
/// <param name="fileName">文件名</param>
public static void SaveControlToPng(Control control, string fileName)
{
    var width = control.Size.Width;
    var height = control.Size.Height;
    using (var bmp = new Bitmap(width, height))
    {
        control.DrawToBitmap(bmp, new Rectangle(0, 0, width, height));
        bmp.Save(fileName, ImageFormat.Png);
    }
}

2、CopyFromScreen

/// <summary>
/// 保存屏幕区域到图片
/// </summary>
/// <param name="x">屏幕x坐标</param>
/// <param name="y">屏幕y坐标</param>
/// <param name="width">宽度</param>
/// <param name="height">高度</param>
/// <param name="fileName">文件名</param>
public static void SaveScreenToPng(int x, int y, int width, int height, string fileName)
{
    using (var bmp = new Bitmap(width, height))
    using (var graphics = Graphics.FromImage(bmp))
    {
        graphics.CompositingQuality = CompositingQuality.HighQuality; //质量设为最高
        graphics.CopyFromScreen(x, y, 0, 0, new Size(width, height)); //保存整个屏幕区域
        bmp.Save(fileName, ImageFormat.Png);
    }
}

标签:control,控件,保存,height,width,bmp,var,Winform
From: https://www.cnblogs.com/xhubobo/p/16947335.html

相关文章

  • MFC--Group分组控件
          ......
  • 【C#】使用ffmpeg image2pipe将图片保存为mp4视频
    文章目录需求实现需求在正式开始之前,先介绍下我的需求是怎么样的,基于此需求如何使用ffmpeg实现。仅供参考。需求点:将图片保存为视频图片数量不是固定的,是由上游的webrtc......
  • 自定义的Qt时间轴控件
    这是一个垂直的时间轴,显示效果非常简单,但不能显示有格式的文本。如果想显示有格式文本可以把右侧显示本文的位置换成QLabel控件去显示有格式文本。如果想改变文本行间距,根......
  • WPF学习之控件与布局
    1  控件到底是什么?程序的本质就是“数据+算法”------用户输入原始的数据,算法处理原始数据并得到结果数据。问题就在于程序如何将结果数据显示给用户。同样一组数据,你可......
  • 用pageOffice控件实现 office word文档在线编辑 表格中写数据的方法
    PageOffice对Word文档中Table的操作,包括给单元格赋值和动态添加行的效果。 1应用场景OA办公中,经常要在文档的指定位置表格,填充后端指定数据。如word文档中,表格数据 ......
  • asp.net 2.0中不同web控件之间的相互调用
    在asp.net2.0中,要在不同的web控件之间互相调用,必须要<%@ReferenceVirtualPath="另一控件名称“>来引用,举例如下default.aspx:<formid="form1"runat="server">    ......
  • 界面控件DevExtreme——轻松将TreeList数据导出为PDF格式
    DevExtreme拥有高性能的HTML5/JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NETCore,jQuery,Knockout等)构建交互式的Web应用程序,该套件附带功能......
  • study-python 一个用于保存python学习的代码的仓库
    opencv-study文件夹2022年11月30创建OpenCV是一个图像处理库。它包含大量图像处理函数day01文件夹p1.py本代码功能:读取图像数据img=cv.imread(cv.samples.findFi......
  • Photoshop CS3 ICO 图标保存插件
    最近编程发现,没有啥好看的图标文件于是,本人使用功能强大的ps,制作了图标文件做后发现,无法保存为ico图标文件在网上搜索了半天,终于从茫茫网海找到ico保存插件下载存放的地方是......
  • C#窗体控件,文字随电脑分辨率自动调整大小
    一、在类中添加方法,代码如下:#region窗体控件、字体随分辨率调整,自动调整大小publicstaticvoidSetTag(Controlcons){foreach(Cont......