Windows 8 开发之摄像头的使用方法
时间:2022-02-04 13:10:14
本篇文章介绍了,Windows 8 开发之摄像头的使用方法。操作简单,步骤也比较详细。需要的朋友参考下
1.更新项目中package.appmanifest 文件,本文让webcam和microphone可用。只需要在功能选项卡中勾选对应的框即可。如下图所示:
如果不按照上面的设置,那么这些功能是不可以使用的,所以,确保首先设置好了。
在Windows 8中,非常好的是摄像头的所有事情都由你来决定。也就是说,有些事情,你不得不考虑好了。首先,当你试图访问摄像头时,程序将会提示用户将使用摄像头和麦克风,由用户决定是否授权。
2.代码实现
1).照片的获取和保存
复制代码代码如下:
private async void Camera_Click(object sender, RoutedEventArgs e)
{
CameraCaptureUI camera = new CameraCaptureUI();
camera.PhotoSettings.CroppedAspectRatio = new Size(16, 9);//获得图片的宽高比例
StorageFile file = await camera.CaptureFileAsync(CameraCaptureUIMode.Photo);
if (file != null)
{
StorageFolder folder = KnownFolders.PicturesLibrary; //将图片保存到图片库中
await file.CopyAsync(folder,file.Name,NameCollisionOption.ReplaceExisting);
}
}
这里有几个选项可以设置(比如分辨率和计时器),然后通过tap 或者单击屏幕,就可以触发照相。如果我们设置了一个CroppedAspectRatio,那么将会看到画面中将会出现四个白点,画面中有4个白色的圆圈,表示裁减的区域。用户可以改变这个box的size,不过指定一个CroppedAspectRatio,我们可以强制用户选这个具有一定比例的图片。在示例中,我使用16:9,如果1:1这是一个正方形图片。没有这个选项的话,用户就不必裁减图片,不过在bottom中的菜单选项中,有一个任意裁剪的选项:
如果用户选择Crop,那么用户就可以裁减图片的任意内容:
最后,当用户点击OK按钮,将会返回一个图片到我们程序中,这个图片我们可以随意使用。
2).获得视频和保存视频
复制代码代码如下:
private async void Video_Click(object sender, RoutedEventArgs e)
{
CameraCaptureUI video = new CameraCaptureUI();
video.VideoSettings.Format = CameraCaptureUIVideoFormat.Mp4;
video.VideoSettings.AllowTrimming = true;
video.VideoSettings.MaxResolution = CameraCaptureUIMaxVideoResolution.HighestAvailable;
video.VideoSettings.MaxDurationInSeconds = 600;
StorageFile file = await video.CaptureFileAsync(CameraCaptureUIMode.Video);
if (file != null)
{
StorageFolder folder = KnownFolders.VideosLibrary;
await file.CopyAsync(folder,file.Name,NameCollisionOption.ReplaceExisting);
}
}
首先可以指定视频的格式:MP4或WMV。一般你是看不出这些格式的区别的。MP4要比WMV使用更流行,但是MP4文件会很大,所以值得考虑一下。
其次,我将AllowTrimming设置为true,这样用户可以选择根据喜好,选择录制视频的片段。如下是相关截图,用户可以拖动白色的裁减圈来裁减视频:
第三,我指定了一个MaxDurationInSeconds,这个值显示用户录制视频的最长时间。如果用户录制的视频比这个时间长,那么用户只能选择30秒(或者是你指
定的一个长度)的视频。
最后,我还指定了一个MaxResolution,这是管理用户可以录制的分辨率,这也决定了最终文件的大小,有下面四个可选项:
以上就完成了windows8中摄像头的应用。
简单的来说,从用户摄像头获取相片和视频的很容易的,并且可以定制。大多数复杂的UI都是有Windows 8直接处理了,所以,我们不用担心与用户的交互
问题 。
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
WPS excel利用TRIM 函数消除文本中的空格
![](https://img.aspxhome.com/file/2023/4/a186874_0s.jpg)
wps ppt怎么转pdf
win7系统安装虚拟机win10提示"传输VMDB错误-44:Message”的解决方法
![](https://img.aspxhome.com/file/2023/28/a244951_0s.png)
WPS PPT如何制作拍立得效果
![](https://img.aspxhome.com/file/2023/0/a187100_0s.jpg)
电话号码挤在一个excel单元格,中间怎么加个分隔符号
![](https://img.aspxhome.com/file/2023/9/a142199_0s.png)
Win7系统中出现的XLUEOPS.exe是什么进程?
![](https://img.aspxhome.com/file/2023/27/a232594_0s.jpg)
自己如何给电脑重装Win10系统?自己给电脑重装Win10系统教程
![](https://img.aspxhome.com/file/2023/25/a217644_0s.png)
Windows8系统设置Shift键代替CapsLock键关闭大写方法
![](https://img.aspxhome.com/file/2023/29/a254016_0s.jpg)
在使用MAC OS X打印文件时发生各种问题的解决方法
![](https://img.aspxhome.com/file/2023/2/a215372_0s.jpg)
Mac效率神器Alfred剪切板历史记录还可以这样用
![](https://img.aspxhome.com/file/2023/9/a209849_0s.jpeg)
WPS表格中怎么将空白格填充为数字0
word如何拖动图片
excel计算年金现值公式的用法教程
WPS 如何让word里的页眉根据章节标题自动变化
![](https://img.aspxhome.com/file/2023/8/a186268_0s.jpg)
Win10 TH2正式版首个重要累积更新补丁KB3116908怎么安装?
![](https://img.aspxhome.com/file/2023/28/a246287_0s.jpg)
Win10无法卸载已安装补丁怎么办?Win10无法卸载已安装补丁的解决方法
![](https://img.aspxhome.com/file/2023/5/52515_0s.jpg)
解析Windows XP 线程调度策略
Word2007查找和替换活用八问
win7系统打开自带壁纸和主题的方法 win7系统自带壁纸和主题如何使用
![](https://img.aspxhome.com/file/2023/28/a245194_0s.jpg)