返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#实现截图帮助类
  • 242
分享到

C#实现截图帮助类

2024-04-02 19:04:59 242人浏览 薄情痞子
摘要

帮助类实现: 注意修改命名空间 using System.Drawing; using System.windows.FORMs; namespace WindowsFormsA

帮助类实现:

注意修改命名空间

using System.Drawing;
using System.windows.FORMs;
 
namespace WindowsFormsApplication1
{
    class ScreenCapture
    {
        private Bitmap _screenshot = null;
 
        /// <summary>
        /// 截取全屏
        /// </summary>
        /// <returns>返回值</returns>
        public Bitmap CaptureScreen()
        {
            return Capture(Rectangle.Empty, false);
        }
 
        /// <summary>
        /// 截取全屏并保存
        /// </summary>
        /// <param name="fileName">文件路径</param>
        /// <returns></returns>
        public Bitmap CaptureScreen(string fileName)
        {
            Bitmap screenshot = Capture(Rectangle.Empty, false);
            saveImage(fileName, screenshot);
            return screenshot;
        }
 
        /// <summary>
        /// 截屏到剪切板
        /// </summary>
        public void CopyToClipboard()
        {
            if (this._screenshot != null)
                Clipboard.SetImage(this._screenshot);
            else if (this._screenshot == null)
                MessageBox.Show("No screenshot found. Please take a screenshot first.", "Copy to Clipboard");
        }
 
        /// <summary>
        /// 区域截屏
        /// </summary>
        /// <param name="rect">区域范围</param>
        /// <returns>返回值</returns>
        public Bitmap CaptureRectangle(Rectangle rect)
        {
            return Capture(rect, true);
        }
 
        /// <summary>
        /// 区域截屏
        /// </summary>
        /// <param name="rect">区域范围</param>
        /// <param name="fileName">文件路径</param>
        /// <returns>返回值</returns>
        public Bitmap CaptureRectangle(Rectangle rect, string fileName)
        {
            Bitmap screenshot = Capture(rect, true);
            saveImage(fileName, screenshot);
            return screenshot;
        }
 
        private Bitmap Capture(Rectangle rect, bool isRect)
        {
            int screenWidth = Screen.PrimaryScreen.Bounds.Width;
            int screenHeight = Screen.PrimaryScreen.Bounds.Height;
 
            Bitmap screenshot = null;
 
            if(!isRect)
                screenshot = new Bitmap(screenWidth, screenHeight);
            else if(isRect)
                screenshot = new Bitmap(rect.Width, rect.Height);
 
            Graphics g = Graphics.FromImage(screenshot);
            if (!isRect)
            {
                g.CopyFromScreen(Point.Empty, Point.Empty, screenshot.Size);
            }
            else if (isRect)
            {
                g.CopyFromScreen(new Point(rect.X, rect.Y), Point.Empty, rect.Size);
            }
 
            this._screenshot = screenshot;
 
            return screenshot;
        }
 
        private void saveImage(string fileName, Bitmap screenshot)
        {
            string ext = System.IO.Path.GetExtension(fileName);;
            ext = ext.ToLower();
 
            if (ext == ".jpg" || ext == ".jpeg")
                screenshot.Save(fileName, System.Drawing.Imaging.ImageFormat.Jpeg);
            else if(ext == ".gif")
                screenshot.Save(fileName, System.Drawing.Imaging.ImageFormat.Gif);
            else if(ext == ".png")
                screenshot.Save(fileName, System.Drawing.Imaging.ImageFormat.Png);
            else if (ext == ".bmp")
                screenshot.Save(fileName, System.Drawing.Imaging.ImageFormat.Bmp);
            else if (ext == ".tiff")
                screenshot.Save(fileName, System.Drawing.Imaging.ImageFormat.Tiff);
        }
    }
}

到此这篇关于C#实现截图帮助类的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C#实现截图帮助类

本文链接: https://lsjlt.com/news/153491.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C#实现截图帮助类
    帮助类实现: 注意修改命名空间 using System.Drawing; using System.Windows.Forms; namespace WindowsFormsA...
    99+
    2024-04-02
  • C#如何实现截图帮助类
    今天小编给大家分享一下C#如何实现截图帮助类的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。帮助类实现:注意修改命名空间usi...
    99+
    2023-07-02
  • C++实现屏幕截图(全屏截图)
    上回分享了一个全屏截图的代码,保存为BMP, C++实现屏幕截图(全屏截图):https://www.jb51.net/article/140184.htm 实际使用的过程中我发现截...
    99+
    2024-04-02
  • C++如何实现截图截屏
    这篇文章主要介绍了C++如何实现截图截屏,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、截图工具1.1 键盘截图(PrtScn键)如何使用Microsoft Windows...
    99+
    2023-06-21
  • C#操作ini文件的帮助类
    .ini 文件是Initialization File的缩写,即初始化文件,是windows的系统配置文件所采用的存储格式,统管windows的各项配置,一般用户就用windows提...
    99+
    2024-04-02
  • Python如何实现文件操作帮助类
    今天小编给大家分享一下Python如何实现文件操作帮助类的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、业务需求在使用Py...
    99+
    2023-07-05
  • C#用NPOI导出导入Excel帮助类
    本文实例为大家分享了C#用NPOI导出导入Excel帮助类的具体代码,供大家参考,具体内容如下 1、准备工作 在管理NuGet程序包中搜索 NPOI,安装 NPOI 到要项目中。 2...
    99+
    2024-04-02
  • C++实现截图截屏的示例代码
    目录1、截图工具1.1 键盘截图(PrtScn键)1.2 win10自带截图(Win+Shift+S)1.3 系统自带的截图小工具1.4 ffmpeg1.5 ScreenToGif1...
    99+
    2024-04-02
  • C#文件非占用读取与帮助类FileHelper
    非占用方式: FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.R...
    99+
    2024-04-02
  • C#操作ini文件的帮助类是什么
    这篇文章主要介绍了C#操作ini文件的帮助类是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#操作ini文件的帮助类是什么文章都会有所收获,下面我们一起来看看吧。一、定义Classusing S...
    99+
    2023-06-30
  • Python实现文件操作帮助类的示例代码
    目录一、业务需求二、需求分析三、实现方法3.1、Python文件帮助类3.2、Python文件帮助类的使用示例3.3、示例执行结果一、业务需求 在使用Python进行业务开发的时候,...
    99+
    2023-03-19
    Python实现文件操作帮助类 Python文件操作 Python文件
  • C#实现截图工具小项目
    本文实例为大家分享了C#实现截图工具小项目的具体代码,供大家参考,具体内容如下 1.起因 一直用的截图是qq的截图,所以想要实现一个简单点的截图,为了方便。 2.思路 讲一下实现流程...
    99+
    2024-04-02
  • golang实现截图
    近年来,随着人们对互联网的依赖程度越来越高,许多行业都开始向数字化转型。其中,网络通信和远程办公的需求日益增长,各种在线会议和远程工作工具也如雨后春笋般涌现出来。针对这些应用场景,截屏功能已成为了必不可少的一项功能。在本文中,我们将介绍如何...
    99+
    2023-05-16
  • C#文件非占用读取与帮助类FileHelper怎么用
    本篇内容主要讲解“C#文件非占用读取与帮助类FileHelper怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#文件非占用读取与帮助类FileHelper怎么用”吧!非占用方式:File...
    99+
    2023-06-30
  • C#仿QQ实现简单的截图功能
    目录实现功能开发环境实现代码实现效果接上一篇写的截取电脑屏幕,我们在原来的基础上加一个选择区域的功能,实现自定义选择截图。 个人比较懒,上一篇的代码就不重新设计了,就简单改一下呈现方...
    99+
    2024-04-02
  • C#写一套最全的MySQL帮助类(包括增删改查)
    目录 一、以下是一个基于C#的MySQL帮助类的示例代码,可以用于连接数据库、执行SQL语句、读取数据等操作: 二、另外,在使用这个帮助类时,需要先创建一个连接字符串,例如 三、然后就可以使用这个帮助类来访问MySQL数据库了。下面是一些示...
    99+
    2023-09-14
    c# mysql
  • C#实现循环发送电脑屏幕截图
    本文实例为大家分享了C#实现循环发送电脑屏幕截图的具体代码,供大家参考,具体内容如下 写的一个demo,建立Socket连接之后,循环发送电脑屏幕截图 服务器端开启之后监听端口号20...
    99+
    2024-04-02
  • C#对XmlHelper帮助类操作Xml文档的通用方法汇总
    目录前言C#XML基础入门对象序列化为XmlXml字符处理创建Xml文档Xml数据读取Xml插入数据Xml修改数据Xml删除数据完整的XmlHelper帮助类前言 该篇文章主要总结的...
    99+
    2024-04-02
  • node.js实现快速截图
    写文章的时候经常需要插入图片,插入现有的图片很简单,有时候制作一些优秀的网站列表的时候需要添加网页截图, 这个过程非常枯燥乏味,可以考虑开发一个命令行工具传入一个url,然后生成页面截图。 使用node-w...
    99+
    2022-06-04
    截图 快速 node
  • python实现屏幕截图
    由于在我的一个程序中想要添加一个截图功能,今天看一下利用Python怎样截图,功能实现都挺简单了,直接上代码 from PIL import ImageGrab im = ImageGrab.grab() im.save(addr,'jp...
    99+
    2023-01-31
    截图 屏幕 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作