热门:网页模板.net视频教程JQueryMVCjsonExtJs源码示例三级联动JQuery菜单
您现在的位置:.Net中文社区>> Silverlight>>正文内容

Silverlight画笔

发布时间:2011年06月11日点击数: 佚名

纯色绘制区域
使用纯色绘制区域,下面的代码是绘制一个红色的长方形:

  1. <StackPanel> 
  2.             <Rectangle Fill="#FFFF0000" Width="200" Height="100"></Rectangle> 
  3.         </StackPanel> 

  1. <Rectangle Width="200" Height="100"> 
  2.                 <Rectangle.Fill> 
  3.                     <SolidColorBrush Color="Red"></SolidColorBrush> 
  4.                 </Rectangle.Fill> 
  5.             </Rectangle> 

效果如下:
 
绘制渐变区域
渐 变画笔使用沿一条轴彼此混合的多种颜色绘制区域。可以使用它们来形成光和影的效果,使 UI 元素具有三维外观。还可以使用它们来模拟玻璃、镶边、水和其他光滑表面。Silverlight 提供两种类型的渐变画笔:LinearGradientBrush 和 RadialGradientBrush。
下面的例子使用LinearGradientBrush从左上角到右下角形成了一个渐变区域:

  1. <Rectangle Width="200" Height="100" Margin="10"> 
  2.                 <Rectangle.Fill> 
  3.                     <LinearGradientBrush StartPoint="0,0" EndPoint="1,1"> 
  4.                         <GradientStop Color="White" Offset="0.0"></GradientStop> 
  5.                         <GradientStop Color="WhiteSmoke" Offset="0.25"></GradientStop> 
  6.                         <GradientStop Color="Gray" Offset="0.75"></GradientStop> 
  7.                         <GradientStop Color="Black" Offset="1"></GradientStop> 
  8.                     </LinearGradientBrush> 
  9.                 </Rectangle.Fill> 
  10.             </Rectangle> 

效果如图:
 
代码是的“Offset”是指从StartPoint="0,0" 到EndPoint="1,1"这条线上的偏移量。如0.25指直线上1/4处。
上例的渐变轴是对角线,如果要将渐变轴设置为模向,则应作如下设置:
StartPoint="0,0.5" EndPoint="1,0.5"
纵向应该设置为:StartPoint="0.5,0" EndPoint="0.5,1"
径向渐变
与 LinearGradientBrush 类似,RadialGradientBrush 用沿一条轴混合在一起的颜色绘制区域。前面的示例演示线性渐变画笔的轴是一条直线。径向渐变画笔的轴由一个圆圈定义;其颜色从圆圈的原点向外辐射。
在下面的示例中,用径向渐变画笔绘制矩形内部。

  1. <Rectangle Width="200" Height="100" Margin="10"> 
  2.     <Rectangle.Fill> 
  3.         <RadialGradientBrush GradientOrigin="0.5,0.5" Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5"> 
  4.             <GradientStop Color="Yellow" Offset="0"></GradientStop> 
  5.             <GradientStop Color="YellowGreen" Offset="0.25"></GradientStop> 
  6.             <GradientStop Color="Blue" Offset="0.5"></GradientStop> 
  7.             <GradientStop Color="DarkBlue" Offset="1"></GradientStop> 
  8.         </RadialGradientBrush> 
  9.     </Rectangle.Fill> 
  10. </Rectangle> 

运行界面如图:
 
GradientOrigin 指定径向渐变画笔的渐变轴的起点。渐变轴从渐变原点辐射至渐变圆。画笔的渐变圆由其 Center、RadiusX 和 RadiusY 属性定义。
下图显示了具有不同的 GradientOrigin、Center、RadiusX 和 RadiusY 设置的多个径向渐变。
绘制图像
ImageBrush 类支持您将图像用作填充、背景和轮廓。ImageBrush 使用由 ImageSource 属性指定的 JPEG 或 PNG 图像来绘制区域。使用要加载的图像的路径来设置 ImageSource 属性。
默 认情况下,ImageBrush 会将其图像拉伸以完全充满要绘制的区域,如果绘制的区域和该图像的长宽比不同,则可能会扭曲该图像。您可以通过将 Stretch 属性从默认值 Fill 更改为 None、Uniform 或 UniformToFill 来更改此行为。
以下示例使用 ImageBrush 绘制 Canvas 的 Background。

  1.     <Grid x:Name="LayoutRoot"> 
  2.         <Grid.Background> 
  3.             <ImageBrush ImageSource="Avata1.JPG"></ImageBrush> 
  4.         </Grid.Background> 
  5. </Grid> 

运行界面如下:
 

本站热点业务

更多模板/案例展示

关于我们 | 联系我们 | 团队日志 | 网站地图 | 网站合作