첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
------------------------------------------------------------------------------------------------------------------------------------------------------
728x90
728x170

■ VisualBrush 엘리먼트의 Visual 속성을 사용해 텍스트를 표시하는 방법을 보여준다.

TestProject.zip
다운로드

▶ MainWindow.xaml

<Window x:Class="TestProject.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Width="800"
    Height="600"
    Title="VisualBrush 엘리먼트 : Visual 속성을 사용해 텍스트 표시하기"
    FontFamily="나눔고딕코딩"
    FontSize="16">
    <Window.Resources>
        <DiffuseMaterial x:Key="TextDiffuseMaterialKey">
            <DiffuseMaterial.Brush>
                <VisualBrush RenderOptions.CachingHint="Cache">
                    <VisualBrush.Visual>
                        <TextBlock Text="3D 문자열" />
                    </VisualBrush.Visual>
                </VisualBrush>
            </DiffuseMaterial.Brush>
        </DiffuseMaterial>
    </Window.Resources>
    <Viewport3D>
        <ModelVisual3D>
            <ModelVisual3D.Content>
                <GeometryModel3D
                    Material="{StaticResource TextDiffuseMaterialKey}"
                    BackMaterial="{StaticResource TextDiffuseMaterialKey}">
                    <GeometryModel3D.Geometry>
                        <MeshGeometry3D
                            Positions="0 0 0, 0 1 0, 1 0 0, 1 1 0"
                            TriangleIndices="0 2 3, 0 3 1"
                            TextureCoordinates="0 1, 0 0, 1 1, 1 0" />
                    </GeometryModel3D.Geometry>
                    <GeometryModel3D.Transform>
                        <RotateTransform3D>
                            <RotateTransform3D.Rotation>
                                <AxisAngleRotation3D x:Name="axisAngleRotation3D"
                                    Axis="0 1 0" />
                            </RotateTransform3D.Rotation>
                        </RotateTransform3D>
                    </GeometryModel3D.Transform>
                </GeometryModel3D>
            </ModelVisual3D.Content>
        </ModelVisual3D>
        <ModelVisual3D>
            <ModelVisual3D.Content>
                <AmbientLight Color="White" />
            </ModelVisual3D.Content>
        </ModelVisual3D>
        <Viewport3D.Camera>
            <PerspectiveCamera
                Position="0 0.5 1.5"
                LookDirection="0 0 -1"
                UpDirection="0 1 0"
                FieldOfView="120" />
        </Viewport3D.Camera>
    </Viewport3D>
    <Window.Triggers>
        <EventTrigger RoutedEvent="Window.Loaded">
            <BeginStoryboard>
                <Storyboard
                    TargetName="axisAngleRotation3D"
                    TargetProperty="Angle">
                    <DoubleAnimation
                        From="360"
                        To="0"
                        Duration="0:0:10"
                        RepeatBehavior="Forever" />
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </Window.Triggers>
</Window>
728x90
그리드형(광고전용)
Posted by icodebroker
,