快速写一个屏幕截图工具

2023-06-27 15:46:08 浏览数 (1)

同事在处理一个监控识别功能,想直接读取监控的视频流;但看他磨了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);  
}

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

0 人点赞