Windows 8 Metro应用中使用调摄像头截图、截视频的功能
2012-10-31 10:04
666 查看
事先声明:本篇文章写的有些不负责任,因为本人机子上未装有摄像头,实际效果未能检测。
调用设备的摄像头,需要用到的是Windows.Media.Capture的命名空间。使用方法很简单,步骤如下:
1. 在XAML中加个按钮,用来点击调用摄像头。
2. 在.cs文件头部加入命名空间的引用。
3. 在按钮点击事件中调用摄像头。
4. 设置截图后图片的纵横比。
5. 截图后保存并获取该文件。(因为未实际测试,猜测是在 Document 下的 Photo 文件夹下,视频则在 Video 文件夹下)
6. 取得文件后就可以对操作,如在程序内显示。
调用摄像头截图的功能到此就结束了,再次声明,因条件有限,未能实际检测,此篇文章纯属抛砖引玉,如有什么错误,欢迎指正。
以下是调用摄像头拍摄照片的完整代码。录制视频和拍摄照片的代码大同小异,一起附上。
Photo
Video
最后,说句题外话,调用摄像头属于用户隐私,在调用之前应先取得用户同意,如弹对话框。
调用设备的摄像头,需要用到的是Windows.Media.Capture的命名空间。使用方法很简单,步骤如下:
1. 在XAML中加个按钮,用来点击调用摄像头。
<Button x:Name="CaptureButton" Content="截图" Click="CapturePhoto_Click"/>
2. 在.cs文件头部加入命名空间的引用。
using Windows.UI.Xaml.Controls;
3. 在按钮点击事件中调用摄像头。
CameraCaptureUI dialog = new CameraCaptureUI();
4. 设置截图后图片的纵横比。
dialog.PhotoSettings.CroppedAspectRatio = new Size(16, 9);
5. 截图后保存并获取该文件。(因为未实际测试,猜测是在 Document 下的 Photo 文件夹下,视频则在 Video 文件夹下)
StorageFile file = await dialog.CaptureFileAsync(CameraCaptureUIMode.Photo);
6. 取得文件后就可以对操作,如在程序内显示。
if (file != null) { BitmapImage bitmapImage = new BitmapImage(); using (IRandomAccessStream fileStream = await file.OpenAsync(FileAccessMode.Read)) { bitmapImage.SetSource(fileStream); } CapturedPhoto.Source = bitmapImage; }
调用摄像头截图的功能到此就结束了,再次声明,因条件有限,未能实际检测,此篇文章纯属抛砖引玉,如有什么错误,欢迎指正。
以下是调用摄像头拍摄照片的完整代码。录制视频和拍摄照片的代码大同小异,一起附上。
Photo
CameraCaptureUI dialog = new CameraCaptureUI();
dialog.PhotoSettings.CroppedAspectRatio = new Size(16, 9);
StorageFile file = await dialog.CaptureFileAsync(CameraCaptureUIMode.Photo);
if (file != null) { BitmapImage bitmapImage = new BitmapImage(); using (IRandomAccessStream fileStream = await file.OpenAsync(FileAccessMode.Read)) { bitmapImage.SetSource(fileStream); } CapturedPhoto.Source = bitmapImage; }
Video
CameraCaptureUI dialog = new CameraCaptureUI(); dialog.VideoSettings.Format = CameraCaptureUIVideoFormat.Mp4; StorageFile file = await dialog.CaptureFileAsync(CameraCaptureUIMode.Video); if (file != null) { IRandomAccessStream fileStream = await file.OpenAsync(FileAccessMode.Read); CapturedVideo.SetSource(fileStream, "video/mp4"); }
最后,说句题外话,调用摄像头属于用户隐私,在调用之前应先取得用户同意,如弹对话框。
相关文章推荐
- Windows 8 Metro应用中 Google Analytics功能的使用
- 使用base64 对图像进行 转换的小程序。附上对视频进行截图的功能程序。
- Windows下实现Mencoder+FFMPEG视频转换和截图的功能
- Windows 8 Metro中对GridView或ListView使用分组功能详解
- 使用安卓Camera类完成视频截图功能
- 使用QuickPart时应用自定义属性和Web Part Connection功能的演示视频
- Windows下实现Mencoder+FFMPEG视频转换和截图的功能
- 使用QuickPart时应用自定义属性和Web Part Connection功能的演示视频
- 在web中使用windows控件,实现摄像头功能
- 【Android 多媒体应用】使用MediaCodec将摄像头采集的视频编码为h264
- windows下python,使用笔记本摄像头进行连续截图,并进行灰度、二值化处理
- 使用Prism开发Windows 8 Metro应用(Developing Windows 8 Metro Applications with Embarcadero Prism)
- Windows 8 RTM 应用截图展示:Bing、Xbox 音乐、视频、SmartGlass、相机等
- Windows 8 Metro应用中使用C#连接SQLite及创建数据库,数据表的增删改查
- windows8系统变为Windows To Go环境导致应用及商店等功能无法使用
- Windows下Qt使用Usb摄像头采集视频实现鼠标事件
- 你的电脑上的应用需要使用以下windows功能(安装.net3.5)解决办法
- Windows8 Metro应用中使用Twitter功能简介
- 树莓派下python,使用USB和CSI摄像头进行视频连续截图,并进行灰度、二值化处理
- 使用base64 对图像进行 转换的小程序。附上对视频进行截图的功能程序。