C#操作摄像头 实现拍照功能
2014-02-17 00:19
513 查看
从正式工作以来一直做的都是基于B/S的Web开发,已经很长时间不研究C/S的东西了,但是受朋友的委托,帮他做一下拍照的这么个小功能。其实类似的代码网上有很多,但是真的能够拿来运行的估计也没几个。本来是说周末给做的,但是这两天脑子一直很乱,也没静下来,晚上了,再不做明天有点不好意思啊,只能临时做一个了。在网上找资料自己做的过程中也发现了一些问题,于是拿到博客上来分享一下,这样一来有需要的朋友可以直接拿来用,二来正在研究的遇到这些问题了可以迎刃而解。
刚开始接触摄像头视频之类的是在大二的时候,那时候因为实验室有一个小项目交到我手上,所以那时候对播放视频之类的了解了一些。那时候的需求是对已经录下来的监控录像做处理,整个过程是已经不需要自己再去控制录像了,所以相对简单一点。而拍照和摄像是自己控制,所以稍微复杂那么一点点。行了,废话说到这里,下面进入正题。
还是以往的作风,只实现功能,对界面不做过多的美化,有需要的朋友可以自己动手。比较这年头自己动手,丰衣足食嘛。图1-1是程序的主界面:
View Code
关闭之后,在bin目录下的PersonImg中即可找到保存的图片,当然,在程序中把该图片展示出来效果会更好,但是由于时间关系,就不添加了。需要的朋友可以自己实现,有问题的欢迎一起交流。
至此,这样一个简单的拍照功能就完成了,在这里,附上源码下载地址。
源码下载:http://download.csdn.net/detail/jrlxsy/6927833
您的支持,是我分享的动力,谢谢!
刚开始接触摄像头视频之类的是在大二的时候,那时候因为实验室有一个小项目交到我手上,所以那时候对播放视频之类的了解了一些。那时候的需求是对已经录下来的监控录像做处理,整个过程是已经不需要自己再去控制录像了,所以相对简单一点。而拍照和摄像是自己控制,所以稍微复杂那么一点点。行了,废话说到这里,下面进入正题。
还是以往的作风,只实现功能,对界面不做过多的美化,有需要的朋友可以自己动手。比较这年头自己动手,丰衣足食嘛。图1-1是程序的主界面:
//拍照 private void Photograph_Click(object sender, EventArgs e) { try { if (videoSourcePlayer.IsRunning) { BitmapSource bitmapSource = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap( videoSourcePlayer.GetCurrentVideoFrame().GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions()); PngBitmapEncoder pE = new PngBitmapEncoder(); pE.Frames.Add(BitmapFrame.Create(bitmapSource)); string picName = GetImagePath() + "\\" + "xiaosy" + ".jpg"; if (File.Exists(picName)) { File.Delete(picName); } using (Stream stream = File.Create(picName)) { pE.Save(stream); } //拍照完成后关摄像头并刷新同时关窗体 if (videoSourcePlayer != null && videoSourcePlayer.IsRunning) { videoSourcePlayer.SignalToStop(); videoSourcePlayer.WaitForStop(); } this.Close(); } } catch (Exception ex) { MessageBox.Show("摄像头异常:" + ex.Message); } } private string GetImagePath() { string personImgPath = Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory) + Path.DirectorySeparatorChar.ToString() + "PersonImg"; if (!Directory.Exists(personImgPath)) { Directory.CreateDirectory(personImgPath); } return personImgPath; }
View Code
关闭之后,在bin目录下的PersonImg中即可找到保存的图片,当然,在程序中把该图片展示出来效果会更好,但是由于时间关系,就不添加了。需要的朋友可以自己实现,有问题的欢迎一起交流。
至此,这样一个简单的拍照功能就完成了,在这里,附上源码下载地址。
源码下载:http://download.csdn.net/detail/jrlxsy/6927833
您的支持,是我分享的动力,谢谢!
相关文章推荐
- C#操作摄像头 实现拍照功能
- C#操作摄像头 实现拍照功能
- c#实现摄像头拍照功能示例
- C#摄像头实现拍照功能的简单代码示例
- C#摄像头实现拍照功能的简单代码示例
- C#摄像头实现拍照功能的简单代码示例
- C#摄像头实现拍照功能的简单代码示例
- C#摄像头实现拍照功能的简单代码示例
- C#摄像头实现拍照功能的简单代码示例
- C#利用摄像头拍照功能实现
- Qt: QT + openCV 实现摄像头采集以及拍照功能
- 能够正常使用的,经过测试的java+jquery+webcam调用本地摄像头拍照,然后将拍照结果上传数据库blob字段功能的实现(二)
- 基于HTML5超酷摄像头(HTML5 webcam)拍照功能实现代码
- DIY个照相机-Delphi实现摄像头拍照功能
- PDA--Windows CE平台下实现对摄像头拍照和视频录制操作
- 实现利用摄像头进行拍照的功能
- !!C# BackgroundWorker异步操作以及实现等待提示窗体功能---C#中此方法比多线程用的多
- H5实现调用本地摄像头实现实时视频以及拍照功能
- Android实现调用摄像头拍照与视频功能
- 基于AForge实现C#摄像头视频录制功能