Silverlight开发历程—(绘制放射渐变图形)

 放射渐变画刷(RadialGradientBrush) 用来填充一个放射渐变色到元素中,它产生的是一个圆形的渐变色,从图形的中心向周围扩张 重要属性有,倾斜原点(GradientOrigin)、中心点(Center)、半径X(RadiusX)、半径Y(RadiusY)

XAML:

 

 <StackPanel x:Name="LayoutRoot" Background="AliceBlue" Orientation="Horizontal">
        <Ellipse Height="180" Width="180" Margin="50,0,0,0">
            <Ellipse.Fill>
                    <!---倾斜原点和中心点值都为0.5-->
                <RadialGradientBrush GradientOrigin="0.5,0.5" Center="0.5,0.5">
                    <GradientStop Offset="0" Color="#FFECFFDB" />
                    <GradientStop Offset="1.0" Color="#FF252825" />
                    <GradientStop Offset="0.5" Color="#FF4D6D25" />
                </RadialGradientBrush>
            </Ellipse.Fill>
        </Ellipse>
        <Ellipse Height="180" Width="180" Margin="50,0,0,0">
            <Ellipse.Fill>
                <!---倾斜原点和中心点值都为0.6-->
                <RadialGradientBrush GradientOrigin="0.6,0.6" Center="0.6,0.6">
                    <GradientStop Offset="0" Color="#FFECFFDB" />
                    <GradientStop Offset="1.0" Color="#FF252825" />
                    <GradientStop Offset="0.5" Color="#FF4D6D25" />
                </RadialGradientBrush>
            </Ellipse.Fill>
        </Ellipse>
        <Ellipse Height="180" Width="180" Margin="50,0,0,0">
            <Ellipse.Fill>
                <!---Siliverlight还提供了半径X,半径Y 可以根据X,Y来绘制放射点-->
                <RadialGradientBrush  RadiusX="0.5" RadiusY="0.25">
                    <GradientStop Offset="0" Color="#FFECFFDB" />
                    <GradientStop Offset="1.0" Color="#FF252825" />
                    <GradientStop Offset="0.5" Color="#FF4D6D25" />
                </RadialGradientBrush>
            </Ellipse.Fill>
        </Ellipse>
    </StackPanel>


运行结果:


 

前两个例子可以通过调整倾斜点和中心点来调整整个渐变的位置,第三个例子则是根据渐变的X,Y半径来调整 。

posted @ 2011-11-14 22:29  Bodi  阅读(148)  评论(0编辑  收藏  举报