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

來源:互聯網
上載者:User

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.