码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2015-11-14 09:55:39      阅读:274      评论:0      收藏:0      [点我收藏+]

标签:

原文:《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仅提供了一个便利的方法,将结果集成到你的可视化树中。

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

标签:

原文地址:http://www.cnblogs.com/lonelyxmas/p/4963863.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!