前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快速写一个屏幕截图工具

快速写一个屏幕截图工具

原创
作者头像
谭广健
发布2023-06-27 15:46:08
3160
发布2023-06-27 15:46:08
举报
文章被收录于专栏:谭广健的专栏谭广健的专栏

同事在处理一个监控识别功能,想直接读取监控的视频流;但看他磨了2天都没搞掂。整个项目不能拖,于是另辟途径,想到的就用监控原来的画面展示,然后对屏幕进行截取为图片再分析。说干就干。。随手就用C#写了一个屏幕图片的截取的函数。现在共享一下吧,估计以后用得上。

代码语言:javascript
复制
public void Capture_Screen() {           
             //设置显示屏幕为主屏(windows主屏 Screen.PrimaryScreen)
            Screen scr = Screen.PrimaryScreen;                                    
            //获取屏幕边界参数
            Rectangle rc = scr.Bounds;
            //获取屏幕分辨率宽度值
            int iWidth = rc.Width;
            //获取屏幕分辨率高度值
            int iHeight = rc.Height;
            //创建Bitmap位图类(尺寸与分辨率相同)            
            Image myImage = new Bitmap(iWidth, iHeight);
            //从一个继承自Image类的对象中创建Graphics对象            
            Graphics g = Graphics.FromImage(myImage);
            //截取屏幕并复制到(g)myimage里            
            g.CopyFromScreen(new Point(0, 0), new Point(0, 0), new Size(iWidth, iHeight));
            //将myImage保存为文件,此处的保存路径和文件名以及图片格式可自行修改。当前文件名:截屏+系统日期时间(年月日 时分秒)
            string fileName = DateTime.Now.ToString("yyyy年MM月dd日HH时mm分ss秒") + ".jpg";//以日期命名文件名
            string filePath = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//获取应用程序运行的路径
            myImage.Save(filePath + fileName, ImageFormat.Jpeg);
            MessageBox.Show("文件保存在:" + filePath + fileName);  
}

程序比较简单不多说了,看到的就留个脚印吧。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档