WPF图片浏览

WPF图片浏览
在这里插入图片描述

<Window x:Class="PhotoFlipperDemo.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:PhotoFlipperDemo"
        mc:Ignorable="d"
        Loaded="OnLoaded"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>

        <DoubleAnimation x:Key="Rotate1" From="0" To="179.9" Duration="0:0:0.5" />

        <Storyboard x:Key="FlipPicTimeline" CurrentStateInvalidated="OnFlipPicTimeline">
            <ParallelTimeline Storyboard.TargetName="myViewport3D"
                              Storyboard.TargetProperty="Children[0].Content.Children[1].Transform.Children[1].Rotation.Angle">
                <StaticResource ResourceKey="Rotate1" />
            </ParallelTimeline>
        </Storyboard>


        <MeshGeometry3D x:Key="PlaneMeshTop"
                        Positions="-1 -1 0  1 -1 0  -1 1 0  1 1 0"
                        Normals="0 0 1  0 0 1  0 0 1  0 0 1"
                        TextureCoordinates="0 0.5  1 0.5  0 0  1 0"
                        TriangleIndices="0 1 2  1 3 2" />

        <MeshGeometry3D x:Key="PlaneMeshBottom"
                        Positions="-1 -1 0  1 -1 0  -1 1 0  1 1 0"
                        Normals="0 0 1  0 0 1  0 0 1  0 0 1"
                        TextureCoordinates="0 1  1 1  0 0.5  1 0.5"
                        TriangleIndices="0 1 2  1 3 2" />

        <MeshGeometry3D x:Key="PlaneMeshBackBottom"
                        Positions="-1,1,0 , 1,1,0 ,1,-1,0 ,-1,-1,0"
                        Normals="0,0,-1 0,0,-1 0,0,-1 0,0,-1"
                        TextureCoordinates="0,1 1,1 1,0.5 0,0.5"
                        TriangleIndices="0 1 3 1 2 3" />


        <DiffuseMaterial x:Key="Pic011">
            <DiffuseMaterial.Brush>
                <ImageBrush ImageSource="Images/pic_011.png" ViewportUnits="Absolute" />
            </DiffuseMaterial.Brush>
        </DiffuseMaterial>
        <DiffuseMaterial x:Key="Pic012">
            <DiffuseMaterial.Brush>
                <ImageBrush ImageSource="images/pic_012.png" ViewportUnits="Absolute" />
            </DiffuseMaterial.Brush>
        </DiffuseMaterial>
        <DiffuseMaterial x:Key="Pic013">
            <DiffuseMaterial.Brush>
                <ImageBrush ImageSource="images/pic_013.png" ViewportUnits="Absolute" />
            </DiffuseMaterial.Brush>
        </DiffuseMaterial>
        <DiffuseMaterial x:Key="Pic014">
            <DiffuseMaterial.Brush>
                <ImageBrush ImageSource="images/pic_014.png" ViewportUnits="Absolute" />
            </DiffuseMaterial.Brush>
        </DiffuseMaterial>
        <DiffuseMaterial x:Key="Pic015">
            <DiffuseMaterial.Brush>
                <ImageBrush ImageSource="images/pic_015.png" ViewportUnits="Absolute" />
            </DiffuseMaterial.Brush>
        </DiffuseMaterial>
        <DiffuseMaterial x:Key="Pic016">
            <DiffuseMaterial.Brush>
                <ImageBrush ImageSource="images/pic_016.png" ViewportUnits="Absolute" />
            </DiffuseMaterial.Brush>
        </DiffuseMaterial>

    </Window.Resources>

    <Grid Background="Blue" Canvas.Top="0" Canvas.Left="0">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="100" />
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>

        <StackPanel>
            <Button Click="OnToggleAutoRun" Height="50" Grid.Column="0" Grid.Row="0">Toggle AutoRun</Button>
            <Button Click="OnSingleStep" Height="50" Grid.Column="0" Grid.Row="0">Single Step</Button>
        </StackPanel>

        <Viewport3D Focusable="True" Name="myViewport3D" ClipToBounds="True" Grid.Column="1" Grid.Row="0">
            <Viewport3D.Camera>
                <PerspectiveCamera
                    Position="0,0,3.0"
                    LookDirection="0,0,-1"
                    UpDirection="0,1,0"
                    NearPlaneDistance="0.25"
                    FarPlaneDistance="20"
                    FieldOfView="60" />
            </Viewport3D.Camera>
            <Viewport3D.Children>
                <ModelVisual3D>

                    <!-- Trackball uses this transform -->
                    <ModelVisual3D.Transform>
                        <Transform3DGroup>
                            <Transform3DGroup.Children>
                                <Transform3DCollection>

                                    <ScaleTransform3D ScaleX="1" ScaleY="1" ScaleZ="1" />
                                    <RotateTransform3D>
                                        <RotateTransform3D.Rotation>
                                            <AxisAngleRotation3D Axis="0 1 0" Angle="0" />
                                        </RotateTransform3D.Rotation>
                                    </RotateTransform3D>
                                    <TranslateTransform3D OffsetX="0" OffsetY="0" OffsetZ="0" />

                                </Transform3DCollection>
                            </Transform3DGroup.Children>
                        </Transform3DGroup>
                    </ModelVisual3D.Transform>

                    <ModelVisual3D.Content>

                        <Model3DGroup>
                            <Model3DGroup.Transform>
                                <Transform3DGroup>
                                    <Transform3DGroup.Children>
                                        <Transform3DCollection>

                                            <ScaleTransform3D ScaleX="1" ScaleY="1" ScaleZ="1" />
                                            <RotateTransform3D>
                                                <RotateTransform3D.Rotation>
                                                    <AxisAngleRotation3D Axis="0 1 0" Angle="30" />
                                                </RotateTransform3D.Rotation>
                                            </RotateTransform3D>
                                            <TranslateTransform3D OffsetX="0" OffsetY="0" OffsetZ="0" />

                                        </Transform3DCollection>
                                    </Transform3DGroup.Children>
                                </Transform3DGroup>
                            </Model3DGroup.Transform>

                            <Model3DGroup.Children>

                                <!-- Group Child 0 -->

                                <Model3DGroup>
                                    <Model3DGroup.Transform>
                                        <Transform3DGroup>
                                            <Transform3DGroup.Children>
                                                <Transform3DCollection>

                                                    <ScaleTransform3D ScaleX="1" ScaleY="1" ScaleZ="1" />
                                                    <RotateTransform3D>
                                                        <RotateTransform3D.Rotation>
                                                            <AxisAngleRotation3D Axis="0 1 0" Angle="0" />
                                                        </RotateTransform3D.Rotation>
                                                    </RotateTransform3D>
                                                    <TranslateTransform3D OffsetX="0" OffsetY="0" OffsetZ="0" />

                                                </Transform3DCollection>
                                            </Transform3DGroup.Children>
                                        </Transform3DGroup>
                                    </Model3DGroup.Transform>

                                    <Model3DGroup.Children>

                                        <AmbientLight Color="#ffcccccc" />
                                        <DirectionalLight Color="LightGray" Direction="-1,-1,-1" />

                                        <!-- Child 2 -->

                                        <GeometryModel3D Geometry="{StaticResource PlaneMeshTop}">
                                            <GeometryModel3D.Transform>
                                                <Transform3DGroup>
                                                    <Transform3DGroup.Children>
                                                        <Transform3DCollection>

                                                            <ScaleTransform3D ScaleX="1" ScaleY="0.5" ScaleZ="1" />
                                                            <RotateTransform3D CenterX="0" CenterY="-0.5" CenterZ="0">
                                                                <RotateTransform3D.Rotation>
                                                                    <AxisAngleRotation3D Axis="1 0 0" Angle="0" />
                                                                </RotateTransform3D.Rotation>
                                                            </RotateTransform3D>
                                                            <TranslateTransform3D OffsetX="0" OffsetY="0.5" OffsetZ="0" />

                                                        </Transform3DCollection>
                                                    </Transform3DGroup.Children>
                                                </Transform3DGroup>
                                            </GeometryModel3D.Transform>
                                        </GeometryModel3D>


                                        <!-- Child 3 -->

                                        <GeometryModel3D Geometry="{StaticResource PlaneMeshBottom}">
                                            <GeometryModel3D.Transform>
                                                <Transform3DGroup>
                                                    <Transform3DGroup.Children>
                                                        <Transform3DCollection>
                                                            <ScaleTransform3D ScaleX="1" ScaleY="0.5" ScaleZ="1" />
                                                            <RotateTransform3D>
                                                                <RotateTransform3D.Rotation>
                                                                    <AxisAngleRotation3D Axis="0 1 0" Angle="0" />
                                                                </RotateTransform3D.Rotation>
                                                            </RotateTransform3D>
                                                            <TranslateTransform3D OffsetX="0" OffsetY="-0.5"
                                                                                  OffsetZ="0" />
                                                        </Transform3DCollection>
                                                    </Transform3DGroup.Children>
                                                </Transform3DGroup>
                                            </GeometryModel3D.Transform>
                                        </GeometryModel3D>
                                    </Model3DGroup.Children>
                                </Model3DGroup>

                                <!-- Group Child 1 -->

                                <Model3DGroup>
                                    <Model3DGroup.Transform>
                                        <Transform3DGroup>
                                            <Transform3DGroup.Children>
                                                <Transform3DCollection>
                                                    <ScaleTransform3D ScaleX="1" ScaleY="0.5" ScaleZ="1" />
                                                    <RotateTransform3D CenterX="0" CenterY="-0.5" CenterZ="0">
                                                        <RotateTransform3D.Rotation>
                                                            <AxisAngleRotation3D Axis="1 0 0" Angle="0" />
                                                        </RotateTransform3D.Rotation>
                                                    </RotateTransform3D>
                                                    <TranslateTransform3D OffsetX="0" OffsetY="0.5" OffsetZ="0" />
                                                </Transform3DCollection>
                                            </Transform3DGroup.Children>
                                        </Transform3DGroup>
                                    </Model3DGroup.Transform>

                                    <Model3DGroup.Children>

                                        <!-- Child 0 -->

                                        <GeometryModel3D Geometry="{StaticResource PlaneMeshTop}">
                                            <GeometryModel3D.Transform>
                                                <Transform3DGroup>
                                                    <Transform3DGroup.Children>
                                                        <Transform3DCollection>

                                                            <ScaleTransform3D ScaleX="1" ScaleY="1" ScaleZ="1" />
                                                            <RotateTransform3D>
                                                                <RotateTransform3D.Rotation>
                                                                    <AxisAngleRotation3D Axis="0 1 0" Angle="0" />
                                                                </RotateTransform3D.Rotation>
                                                            </RotateTransform3D>
                                                            <TranslateTransform3D OffsetX="0" OffsetY="0" OffsetZ="0" />

                                                        </Transform3DCollection>
                                                    </Transform3DGroup.Children>
                                                </Transform3DGroup>
                                            </GeometryModel3D.Transform>
                                        </GeometryModel3D>

                                        <!-- Child 1 -->
                                        <GeometryModel3D Geometry="{StaticResource PlaneMeshBackBottom}">
                                            <GeometryModel3D.Transform>
                                                <Transform3DGroup>
                                                    <Transform3DGroup.Children>
                                                        <Transform3DCollection>

                                                            <ScaleTransform3D ScaleX="1" ScaleY="1" ScaleZ="1" />
                                                            <RotateTransform3D>
                                                                <RotateTransform3D.Rotation>
                                                                    <AxisAngleRotation3D Axis="0 1 0" Angle="0" />
                                                                </RotateTransform3D.Rotation>
                                                            </RotateTransform3D>
                                                            <TranslateTransform3D OffsetX="0" OffsetY="0" OffsetZ="0" />

                                                        </Transform3DCollection>
                                                    </Transform3DGroup.Children>
                                                </Transform3DGroup>
                                            </GeometryModel3D.Transform>
                                        </GeometryModel3D>
                                    </Model3DGroup.Children>
                                </Model3DGroup>
                            </Model3DGroup.Children>
                        </Model3DGroup>
                    </ModelVisual3D.Content>
                </ModelVisual3D>
            </Viewport3D.Children>
        </Viewport3D>
    </Grid>
</Window>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

向着光-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值