《Programming WPF》翻译 第7章 6.视频和3-D

简介: 原文:《Programming WPF》翻译 第7章 6.视频和3-D虽然详细地讨论视频和3-D超越了这本书的范围,但是获得这些特征的支持是值得的。 视频由MediaElement类型支持。这个元素可以被添加到UI树的任何地方。
原文: 《Programming WPF》翻译 第7章 6.视频和3-D

虽然详细地讨论视频和3-D超越了这本书的范围,但是获得这些特征的支持是值得的。

视频由MediaElement类型支持。这个元素可以被添加到UI树的任何地方。简单的设置它的Source属性以关联到它要播放的视频流,如示例7-49所示。

示例7-49

<MediaElement Source="C:\WINDOWS\system32\oobe\images\intro.wmv" Stretch="Fill" />

3-D 内容通过Viewport3D 支持。直到WPF 的外观系统被关联,Viewport3D 只是一个正规的控件,同时它可以被设定大小和定位,像其它控件那样。然而,你提供了这样的控件,带有3-D 模型、发光、照相机位置信息。它会生成这个模型。这个控件担当了一个3-D 屏幕上的窗体,正如示例7-50 所示。

示例7-50

< Viewport3D  ClipToBounds ="true" >
    
< Viewport3D.Camera >
        
< PerspectiveCamera  NearPlaneDistance ="1"  FarPlaneDistance ="100"
                           LookAtPoint
="0,0,0"  Position ="30, -2, 20"  Up ="0, 0, 1"
                           FieldOfView
="45"   />
    
</ Viewport3D.Camera >

    
< Viewport3D.Models >
        
< Model3DGroup >
            
< DirectionalLight  Color ="#FFFFFFFF"  Direction ="10,25,-1"   />
            
< AmbientLight  Color ="#66666666"   />

            
< GeometryModel3D >
                
< GeometryModel3D.Geometry >
                    
< MeshGeometry3D
                        
TriangleIndices ="0 1 2  1 2 3  2 3 0  0 1 3"
                        Normals
="-1,-1,0 1,-1,0 1,0,0 0,0,1"
                        Positions
="-2,-2,-2  2,-2,-2  0,2,-2  0,0,1" />
                
</ GeometryModel3D.Geometry >
                
< GeometryModel3D.Material >
                    
< MaterialGroup >
                        
< DiffuseMaterial  Brush ="LightGreen"   />
                        
< SpecularMaterial  Brush ="White"   />
                    
</ MaterialGroup >
                
</ GeometryModel3D.Material >
            
</ GeometryModel3D  >
        
</ Model3DGroup >
    
</ Viewport3D.Models >
</ Viewport3D >

这就建立了一个非常简单的

3-D 模型,包含了一个单独的基于正方形的锥形。图7-58 显示了结果。这个模型还包含了一些光源来保证模型是可见的。这个Viewport 还有一个详细指出的照相机位置。

7-58


实际上,你可以正常的使用任意类型的
3-D设计工具模型,因此你不能典型地希望和模型标记一起工作,如示例7-50所示。Viewport3D仅提供了一个便利的方法,将结果集成到你的可视化树中。

目录
相关文章
|
测试技术 C# Windows
C# WPF 显示图片和视频显示 EmuguCv、AForge.Net测试
原文:C# WPF 显示图片和视频显示 EmuguCv、AForge.Net测试 WPF 没有用到 PictureBox, 而是用Image代替. 下面我试着加载显示一个图片 。 XAML CS Attempt 1: ImageMy_Image=newImage(Openfile.
1765 0
|
1月前
|
文字识别 C# 开发者
WPF开源的一款免费、开箱即用的翻译、OCR工具
WPF开源的一款免费、开箱即用的翻译、OCR工具
|
7月前
|
监控 C# C++
VS+C#+WPF多线程视频摄像头播放器监控
VS+C#+WPF多线程视频摄像头播放器监控
164 0
VS+C#+WPF多线程视频摄像头播放器监控
|
C# 开发工具 编解码
WPF中在摄像头视频上叠加控件的解决方案
原文:WPF中在摄像头视频上叠加控件的解决方案 一、视频呈现   前段时间,在一个wpf的项目中需要实时显示ip摄像头,对此的解决方案想必大家都应该知道很多。在winform中,我们可以将一个控件(一般用panel或者pictruebox)的句柄丢给摄像头的sdk以实现该功能,而在wpf中我们同样可以使用该方案快速实现。
1338 0
|
C# Windows
WPF成长之路------视频
今天偶然看到一篇博文,发现WPF原来还可以直接播放视频!于是在这里记录一下,以后方便使用:       参考链接: http://www.cnblogs.com/lonelyxmas/p/4963863.html
919 0
|
C#
【msdn wpf forum翻译】如何在wpf程序(程序激活时)中捕获所有的键盘输入,而不管哪个元素获得焦点?
原文:【msdn wpf forum翻译】如何在wpf程序(程序激活时)中捕获所有的键盘输入,而不管哪个元素获得焦点?原文链接:http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/cf884a91-c135-447d-b16b-214d2d9e9972 有时有些特殊的程序需要这样处理。
953 0
|
C#
【msdn wpf forum翻译】获取当前窗口焦点所在的元素
原文:【msdn wpf forum翻译】获取当前窗口焦点所在的元素原文地址: http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/6bd7a03a-f0b4-42df-a7f2-5182cf003cb0 Bialgous回答:IInputElement focusedElement = FocusManager.
939 0
|
C#
【msdn wpf forum翻译】TextBlock等类型的默认样式(implicit style)为何有时不起作用?
原文:【msdn wpf forum翻译】TextBlock等类型的默认样式(implicit style)为何有时不起作用?原文链接:http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/148e95c6-6fb5-4399-8a56-4...
945 0
|
C#
【msdn wpf forum翻译】TextBox中文本 中对齐 的方法
原文:【msdn wpf forum翻译】TextBox中文本 中对齐 的方法原文链接:http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/49864e35-1dbf-4292-a361-93f1a8400558 问题:TextBox中文本中对齐,使用 TextBox.HorizontalContentAlignment="Center"行不通(TextBox.VerticalContentAlignment="Center"则会起到预期的作用。
1197 0