程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> 《Programming WPF》翻譯 第7章 6.視頻和3-D

《Programming WPF》翻譯 第7章 6.視頻和3-D

編輯:關於.NET

雖然詳細地討論視頻和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僅提供了一個便利的方法,將結果集成到你的可視化樹中。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved