zoukankan      html  css  js  c++  java
  • wpf 文字动态动画效果

    <Window.Background>
    <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
    <GradientStop Color="Black" Offset="0"/>
    <GradientStop Color="#FF666666" Offset="1"/>
    </LinearGradientBrush>
    </Window.Background>
    <Window.Resources>
    <DrawingBrush x:Key="MyWireBrushResource"
    Viewport
    ="0,0,10,10" ViewportUnits="Absolute" TileMode="Tile">
    <DrawingBrush.Drawing>
    <DrawingGroup>
    <DrawingGroup.Children>
    <GeometryDrawing Geometry="M0,0 L1,0 1,0.1, 0,0.1Z" Brush="#66CCCCFF" />
    <GeometryDrawing Geometry="M0,0 L0,1 0.1,1, 0.1,0Z" Brush="#66CCCCFF" />
    </DrawingGroup.Children>
    </DrawingGroup>
    </DrawingBrush.Drawing>
    </DrawingBrush>
    </Window.Resources>



    <StackPanel Margin="40">
    <Border Name="TextBorder" HorizontalAlignment="Left"
    Background
    ="{StaticResource ResourceKey=MyWireBrushResource}"
    VerticalAlignment
    ="Center">
    <TextBlock Name="RealText" FontFamily="Segoe UI" FontSize="60px"
    Margin
    ="40" Foreground="White">Windows 7
    <TextBlock.TextEffects>
    <TextEffect PositionCount="1" x:Name="MyTextEffect">
    <TextEffect.Transform>
    <SkewTransform x:Name="TextEffectSkewTransform" CenterX="180"
    CenterY
    ="30">

    </SkewTransform>
    </TextEffect.Transform>
    </TextEffect>
    </TextBlock.TextEffects>

    <TextBlock.Triggers>
    <EventTrigger RoutedEvent="TextBlock.Loaded">
    <BeginStoryboard>
    <Storyboard>
    <DoubleAnimation From="0" To="15" Duration="0:0:0.25"
    RepeatBehavior
    ="Forever"
    AutoReverse
    ="True"
    Storyboard.TargetName
    ="TextEffectSkewTransform"
    Storyboard.TargetProperty
    ="AngleX"></DoubleAnimation>

    <DoubleAnimation From="0" To="43" Duration="0:0:0.5"
    RepeatBehavior
    ="Forever"
    AutoReverse
    ="True"
    Storyboard.TargetName
    ="TextEffectSkewTransform"
    Storyboard.TargetProperty
    ="AngleY"></DoubleAnimation>

    <DoubleAnimation From="30" To="400" Duration="0:0:13"
    RepeatBehavior
    ="Forever"
    AutoReverse
    ="True"
    Storyboard.TargetName
    ="TextEffectSkewTransform"
    Storyboard.TargetProperty
    ="CenterX"></DoubleAnimation>

    <Int32AnimationUsingKeyFrames
    Storyboard.TargetName="MyTextEffect"
    Storyboard.TargetProperty
    ="PositionStart" Duration="0:0:13"
    AutoReverse
    ="True" RepeatBehavior="Forever">
    <Int32AnimationUsingKeyFrames.KeyFrames>
    <DiscreteInt32KeyFrame Value="0" KeyTime="0:0:0">
    </
    DiscreteInt32KeyFrame>
    <DiscreteInt32KeyFrame Value="1" KeyTime="0:0:1" />
    <DiscreteInt32KeyFrame Value="2" KeyTime="0:0:2" />
    <DiscreteInt32KeyFrame Value="3" KeyTime="0:0:3" />
    <DiscreteInt32KeyFrame Value="4" KeyTime="0:0:4" />
    <DiscreteInt32KeyFrame Value="5" KeyTime="0:0:5" />
    <DiscreteInt32KeyFrame Value="6" KeyTime="0:0:6" />
    <DiscreteInt32KeyFrame Value="7" KeyTime="0:0:7" />
    <DiscreteInt32KeyFrame Value="8" KeyTime="0:0:8" />
    <DiscreteInt32KeyFrame Value="9" KeyTime="0:0:9" />
    <DiscreteInt32KeyFrame Value="10" KeyTime="0:0:10" />
    <DiscreteInt32KeyFrame Value="11" KeyTime="0:0:11" />
    <DiscreteInt32KeyFrame Value="12" KeyTime="0:0:12" />
    </Int32AnimationUsingKeyFrames.KeyFrames>
    </Int32AnimationUsingKeyFrames>
    </Storyboard>
    </BeginStoryboard>
    </EventTrigger>
    </TextBlock.Triggers>
    </TextBlock>
    </Border>

    <Rectangle Name="ReflectedText" Height="{Binding ElementName=TextBorder,Path=ActualHeight}"
    Width
    ="{Binding ElementName=TextBorder,Path=ActualWidth}" HorizontalAlignment="Left"
    VerticalAlignment
    ="Top">
    <Rectangle.OpacityMask>
    <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
    <LinearGradientBrush.GradientStops>
    <GradientStop Offset="0.0" Color="#66000000"></GradientStop>
    <GradientStop Offset="1.0" Color="#00000000"></GradientStop>
    </LinearGradientBrush.GradientStops>
    </LinearGradientBrush>
    </Rectangle.OpacityMask>
    <Rectangle.Fill>
    <VisualBrush Visual="{Binding ElementName=TextBorder}">
    <VisualBrush.RelativeTransform>
    <TransformGroup>
    <ScaleTransform ScaleX="1" ScaleY="-1"></ScaleTransform>
    <TranslateTransform Y="1"></TranslateTransform>
    </TransformGroup>
    </VisualBrush.RelativeTransform>
    </VisualBrush>
    </Rectangle.Fill>
    </Rectangle>
    </StackPanel>

    本来想搞个demo下载的,不知道怎么添加进来,悲剧。。。

    效果图:

  • 相关阅读:
    oracle中的exists 和not exists 用法详解
    再次谈谈easyui datagrid 的数据加载
    oracle之trunc(sysdate)
    小菜学习设计模式(五)—控制反转(Ioc)
    vim实用技巧
    003_Linux的Cgroup<实例详解>
    systemd在各个linux发行版的普及
    (部署新java程序,程序报错,需copy的一个包)——java使用siger 获取服务器硬件信息
    中国科学院国家授时中心
    Linux时间同步配置方法
  • 原文地址:https://www.cnblogs.com/wpf123/p/2100369.html
Copyright © 2011-2022 走看看