首页 > 代码库 > LinearGradientBrush,RadialGradientBrush的样式说明

LinearGradientBrush,RadialGradientBrush的样式说明

LinearGradientBrush 使用线性渐变绘制区域。线性渐变沿直线定义渐变。该直线的终点由线性渐变的 StartPoint 和 EndPoint 属性定义。LinearGradientBrush 画笔沿此直线绘制其 GradientStops。

  默认的线性渐变是沿对角方向进行的。默认情况下,线性渐变的 StartPoint 是被绘制区域的左上角 (0,0),其 EndPoint 是被绘制区域的右下角 (1,1)。所得渐变的颜色是沿着对角方向路径插入的。对角方向的线性渐变

 1 <!-- This rectangle is painted with a diagonal linear gradient. --> 2 <Rectangle Width="200" Height="100"> 3   <Rectangle.Fill> 4     <LinearGradientBrush StartPoint="0,0s" EndPoint="1,1"> 5       <GradientStop Color="Yellow" Offset="0.0" /> 6       <GradientStop Color="Red" Offset="0.25" /> 7       <GradientStop Color="Blue" Offset="0.75" /> 8       <GradientStop Color="LimeGreen" Offset="1.0" /> 9     </LinearGradientBrush>10   </Rectangle.Fill>11 </Rectangle>

 

  RadialGradientBrush 使用径向渐变绘制区域。焦点定义渐变的开始,而圆定义渐变的终点。在编程模型中与 LinearGradientBrush 类似。但是,线性渐变有一个起点和一个终点用于定义渐变矢量,而径向渐变有一个圆以及一个焦点用于定义渐变行为。该圆定义渐变的终点。换言之,1.0 处的渐变停止点定义圆周处的颜色。焦点定义渐变的中心。0.0 处的渐变停止点定义焦点处的颜色。

  下面使用径向渐变填充的矩形。径向渐变从白色变化至灰色。外部圆表示渐变圆,而红点表示焦点。

 1  <Rectangle Width="200" Height="100"> 2       <Rectangle.Fill> 3         <RadialGradientBrush  4           GradientOrigin="0.5,0.5"  5           Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5"> 6           <RadialGradientBrush.GradientStops> 7             <GradientStop Color="Yellow" Offset="0" /> 8             <GradientStop Color="Red" Offset="0.25" /> 9             <GradientStop Color="Blue" Offset="0.75" />10             <GradientStop Color="LimeGreen" Offset="1" />11           </RadialGradientBrush.GradientStops>12         </RadialGradientBrush>13       </Rectangle.Fill>14     </Rectangle>

 

  说明:Rectangle 的长和宽都被分成0.0 到1.0的一个左上角的一个坐标。Center指的是这个圆的圆心所在坐标的位置,RadiusX,RadiusY分别指这个圆延X,Y轴的长度,GradientOrigins指的是颜色渐变的开始位置,比如说我移动center的坐标,整个圆在动,但是颜色渐变不动,因为GradientOrigins的位置没动。

  本文来自Leo Young的博客,原文地址:http://www.cnblogs.com/yangleiWPF/archive/2010/03/18/1688764.html

LinearGradientBrush,RadialGradientBrush的样式说明