一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

wpf使用WPFMediaKit调用平板(surface2)摄像头拍照

时间:2014-07-10 编辑:简简单单 来源:一聚教程网

wpf中怎么调用surface(或者其他平板)的摄像头进行拍照那?今天分享一下使用WPFMediaKit调用平板(surface2)摄像头拍照。

wpf使用WPFMediaKit调用平板(surface2)摄像头拍照

下载最新的代码,加入到项目中。

 

wpf使用WPFMediaKit调用平板(surface2)摄像头拍照


2、test项目引用WPFMediaKit

xaml代码:

 代码如下 复制代码
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 xmlns:wpfmedia="clr-namespace:WPFMediaKit.DirectShow.Controls;assembly=WPFMediaKit"
Title="WPFMediaKitWindow" Loaded="Window_Loaded"WindowState="Maximized">




后台代码:

获取摄像头:

 代码如下 复制代码
private void cameraOpen()
{
cb.ItemsSource = MultimediaUtil.VideoInputNames;
if (MultimediaUtil.VideoInputNames.Length > 1)
{
cb.SelectedIndex = 1;
}
else
{
cb.SelectedIndex = 0;
}
}

拍照保存到硬盘:win8注意有文件夹的权限问题

 代码如下 复制代码


private void TakePhoto()
{
RenderTargetBitmap bmp = new RenderTargetBitmap(
(int)vce.ActualWidth, (int)vce.ActualHeight,
96, 96, PixelFormats.Default);
//vce.Stretch = Stretch.Fill;
vce.Measure(vce.RenderSize);
vce.Arrange(new Rect(vce.RenderSize));
bmp.Render(vce);
BitmapEncoder encoder = new JpegBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(bmp));
using (MemoryStream ms = new MemoryStream())
{
encoder.Save(ms);
CaptureData = ms.ToArray();
File.WriteAllBytes(@"C:aaaa" + DateTime.Now.ToString("yyyy-mm-dd-hh-mm-sss")+".png", CaptureData);
}
vce.Play();
//capCreateCaptureWindowA()
return;
}

热门栏目