wpf利用动画实现图形变化产生3d效果

利用动画animation实现图形变换。这里实现了7个动画变换图形。可以附加起来一起使用。
也可以单独使用。这里每个图形变换的中心是控件中心,可以根据自己需求更改。可以平移,可以旋转,显示wpf3d效果。 TranslateTransform,ScaleTransform,SkewTransform,RotateTransform几个图形变换是RenderTransform的子property.之所以用RenderTransform而不用LayoutTransform是因为LayoutTransform忽略平移变换。对elemenet的位置没有任何影响。LayoutTransform内任何改变都会从新layout,所以控件不可能出现重叠。RenderTransform里要是布局发生变化,就会自动重叠,后load再上面。
  <Canvas>
        <TextBlock Text="XAML" FontSize="44pt" FontFamily="Arial Black" RenderTransformOrigin="0.5,0.5">
            <TextBlock.RenderTransform>
                <TransformGroup>
                <ScaleTransform x:Name="xformScale"/>
                    <ScaleTransform x:Name="xformScale2"/>
                <RotateTransform x:Name="xformRotate"/>
                    <SkewTransform x:Name="xformSkew"/>
                    <SkewTransform x:Name="xformSkew2"/>
                    <TranslateTransform x:Name="xformTrans"/>
                    <TranslateTransform x:Name="xformTrans2"/>
                </TransformGroup>
            </TextBlock.RenderTransform>
            <TextBlock.Triggers>
                <EventTrigger RoutedEvent="TextBlock.Loaded">
                    <BeginStoryboard>
                        <Storyboard>
                            <!--沿x轴变成0宽度-->
                            <!--<DoubleAnimation Storyboard.TargetName="xformScale" Storyboard.TargetProperty="ScaleX"
                                             From="1" To="0" Duration="0:0:5" AutoReverse="True" RepeatBehavior="Forever"/>-->
                           <!--沿Y轴变成0宽度-->
                            <!--<DoubleAnimation Storyboard.TargetName="xformScale2" Storyboard.TargetProperty="ScaleY"
                                             From="1" To="0" Duration="0:0:5" AutoReverse="True" RepeatBehavior="Forever"/>-->  
                           <!--360度旋转-->
                            <!--<DoubleAnimation Storyboard.TargetName="xformRotate" Storyboard.TargetProperty="Angle"
                                             From="0" To="360" Duration="0:0:5" RepeatBehavior="Forever"/>-->
                            <!--向无穷远处消失成一条y轴-->
                            <!--<DoubleAnimation Storyboard.TargetName="xformSkew" Storyboard.TargetProperty="AngleY"
                                             From="0" To="90" Duration="0:0:5" RepeatBehavior="Forever"/>-->
                            <!--向无穷远处消失成一条x轴-->
                            <!--<DoubleAnimation Storyboard.TargetName="xformSkew2" Storyboard.TargetProperty="AngleX"
                                             From="0" To="90" Duration="0:0:5" RepeatBehavior="Forever"/>-->
                            <!--沿x轴平移-->
                            <DoubleAnimation Storyboard.TargetName="xformTrans" Storyboard.TargetProperty="X"
                                             From="0" To="200" Duration="0:0:5" RepeatBehavior="Forever"/>
                            <!--沿y轴平移-->
                            <DoubleAnimation Storyboard.TargetName="xformTrans2" Storyboard.TargetProperty="Y"
                                             From="0" To="200" Duration="0:0:5" RepeatBehavior="Forever"/>     
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger>
            </TextBlock.Triggers> 
        </TextBlock>
    </Canvas>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值