先去nuget安装
控件拖入
添加Button控件,进入事件的处理方法引用包
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();//是关闭摄像头
//如果点击了摄像头,第一次打开了,第二次打不开。 忘了清除!摄像头!占用。
定义文件命名
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
网友评论