2 borderBrush="Gray" borderThickness="3">
3 <border.Background>
4 <VIDeoBrush x:name="myVIDeoBrush"/>
5 </border.Background>
6 <button x:name="btnCam" HorizontalAlignment="Right"
7 VerticalAlignment="Bottom"
8 WIDth="120" Height="30"
9 Content="启动摄像头"/>
10 </border> C#: 1 public VIDeoAndAudio()
2 {
3 InitializeComponent();
4 this.btnCam.Click += new RoutedEventHandler(btnCam_Click);
5 }
6
7 voID btnCam_Click(object sender,RoutedEventArgs e)
8 {
9 //取得默认视频设备对象
10 VIDeoCaptureDevice cam = CaptureDeviceConfiguration.GetDefaultVIDeoCaptureDevice();
11 //创建视频捕获源对象
12 CaptureSource vIDeoSource = new CaptureSource();
13 //获取用户启用本机摄像头的许可
14 if (CaptureDeviceConfiguration.RequestDeviceAccess())
15 {
16 //设置视频设备
17 vIDeoSource.VIDeoCaptureDevice = cam;
18 //设置视频来源
19 myVIDeoBrush.SetSource(vIDeoSource);
20 myVIDeoBrush.Stretch = Stretch.Fill;
21 //启动摄像头
22 vIDeoSource.Start();
23 }
24 } 点击启用摄像头按钮后,Silverlight会提示用户是否允许应用程序访问你的本机视频设备。 用户选择是后,用户的视频内容就会立刻显示在border的VIDeoBrush区域内,是不是很容易呢。 启用前 启用后 Silverlight 4.0不但支持视频设备的显示,同时结合控件的截图功能,可以很方便的得到用户的照片,接下来加入截图代码。 XAML: 1 <StackPanel x:name="LayoutRoot">
2 <border Height="350" x:name="myborder" CornerRadius="5"
3 borderBrush="Gray" borderThickness="3">
4 <border.Background>
5 <VIDeoBrush x:name="myVIDeoBrush"/>
6 </border.Background>
7 </border>
8 <StackPanel x:name="tsp" OrIEntation="Horizontal"
9 Height="100"></StackPanel>
10 <StackPanel OrIEntation="Horizontal" Height="30"
11 HorizontalAlignment="Center">
12 <button x:name="btnCam" HorizontalAlignment="Right"
13 VerticalAlignment="Bottom"
14 WIDth="120" Height="30"
15 Content="启动摄像头"/>
16 <button x:name="btnCrop" HorizontalAlignment="Right"
17 VerticalAlignment="Bottom"
18 WIDth="120" Height="30"
19 Content="视频截图"/>
20 </StackPanel>
21 </StackPanel> C#: 1 voID CropVIDeo()
2 {
3 //创建可写入位图对象
4 WriteableBitmap wBitmap = new WriteableBitmap(myborder,new Matrixtransform());
5 //创建一个图像
6 Image img = new Image();
7 img.WIDth = 100;
8 img.margin = new Thickness(2);
9 //将wBitmap做为图像源
10 img.source = wBitmap;
11 //将图像添加到WrapPanel控件
12 tsp.Children.Add(img);
13 } 运行结果: 通过这种方式可以很方便的实现用户头像的上传,是不是很方便呢。 总结
以上是内存溢出为你收集整理的风云的银光志Silverlight4.0教程之与摄像头与迈克风设备交互全部内容,希望文章能够帮你解决风云的银光志Silverlight4.0教程之与摄像头与迈克风设备交互所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)