C#Forage(摄像头)

2020-06-28  本文已影响0人  该来总会来

先去nuget安装

控件拖入

引用包

using AForge.Video.DirectShow;

打开摄像头.关闭摄像头

FilterInfoCollection 这个类是获取所有输入设备

VideoCaptureDevice //获取视频源

创建实例

FilterInfoCollection _videoDervices = new FilterInfoCollection(FilterCategory.VideoInputDevice); //获取摄像头输入设备

VideoCaptureDevice   _videoSource = new VideoCaptureDevice(_videoDervices[0].MonikerString); //连接摄像头 _videoDervices[选择摄像头].

videoSourcePlayer.VideoSource = _videoSource; //吧摄像头赋值给 视频控件的 videoSource

videoSourcePlayer.Start();//开启摄像头

videoSourcePlayer.SignalToStop();//是关闭摄像头

//如果点击了摄像头,第一次打开了,第二次打不开。 忘了清除!摄像头!占用。

添加Button控件,进入事件的处理方法

定义文件命名

string ImageName = DateTime.Now.ToString("s");

定义保存路径

string path = $@"./{ImageName}.jpg";

获取图片

Bitmap bitmap = videoSourcePlayer.GetCurrentVideoFrame();

进行判断是否打开摄像头

if(bitmap == null) return;//没有打开摄像头直接返回,不继续下面走

保存

bitmap.save(path);

选择图片

添加一个button控件

OpenFileDialog openFileDialog = new OpenFileDialog(); //实例化

if(openFileDialog.ShowDialog() ==DialogResult.Ok ) this.picPhoto.Image = Image.FromFile(openFileDialog.FileName);

如果图片显示不完整

选择StretchImage

上一篇下一篇

猜你喜欢

热点阅读