动态改变画刷

 

动态改变画刷,首先设置Fill.GradientOrigin属性线性渐变有一个起点和一个终点用于定义渐变矢量,而径向渐变有一个椭圆以及一个焦点 (GradientOrigin) 用于定义渐变行为。该椭圆定义渐变的终点。使用ColorAnimation改变颜色,使用PointAnimatin改变坐标。

效果图:从图一变到了图二

               图一                                 图二

  <Window.Triggers>

        <EventTrigger RoutedEvent="Window.Loaded">

            <EventTrigger.Actions>

                <BeginStoryboard>

                    <Storyboard>

                        <PointAnimation Storyboard.TargetName="ellipsel"

                                        Storyboard.TargetProperty="Fill.GradientOrigin"

                                        To="1,1" Duration="0:0:5">

                        </PointAnimation>

                        <ColorAnimation Storyboard.TargetName="ellipsel" 

                                        Storyboard.TargetProperty="Fill.GradientStops[0].Color"

                                        To="Pink" Duration="0:0:5">

                        </ColorAnimation>

                        <ColorAnimation Storyboard.TargetName="ellipsel"

                                        Storyboard.TargetProperty="Fill.GradientStops[1].Color"

                                        To="Red" Duration="0:0:3">

                        </ColorAnimation>

                        <ColorAnimation Storyboard.TargetName="ellipsel"

                                        Storyboard.TargetProperty="Fill.GradientStops[2].Color"

                                        To="Peru" Duration="0:0:5">

                        </ColorAnimation>

                        <ColorAnimation Storyboard.TargetName="ellipsel"

                                        Storyboard.TargetProperty="Fill.GradientStops[3].Color"

                                        To="Purple" Duration="0:0:2">

                        </ColorAnimation>

                        

                    </Storyboard>

                </BeginStoryboard>

            </EventTrigger.Actions>

        </EventTrigger>

</Window.Triggers>

 

用<Ellipse>标签创建一个圆形图像,给出宽高,设置椭圆填充色径向渐变下面的代码是图一的图像代码

 

    <Grid>

        <Ellipse Name="ellipsel" Width="200" Height="200">

            <Ellipse.Fill>

                <RadialGradientBrush GradientOrigin="0.1,0.1">

                    <RadialGradientBrush.GradientStops>

                        <GradientStop Offset="0.3" Color="Pink"/>

                        <GradientStop Offset="0.5" Color="Purple"/>

                        <GradientStop Offset="0.7" Color="GhostWhite"/>

                        <GradientStop Offset="0.9" Color="Pink"/>

                        <GradientStop Offset="1.2" Color="Purple"/>

                        <GradientStop Offset="1.6" Color="BlueViolet"/>

                        <GradientStop Offset="1.6" Color="Purple"/>

                    </RadialGradientBrush.GradientStops>

                </RadialGradientBrush>

            </Ellipse.Fill>

        </Ellipse>

    </Grid>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值