Sliverlight之 画刷

1,5种画刷 (见Project15)

(1)TextBlock控件中的Forground和BackGround属性是一个什么对象?它在前台的完整的写法是什么?
(实际是.net做了一个转换,可以直接写成ForeGround="Red")


说明:它们实际上是一个Brush类型

<TextBlock Name="tb1" Text="ddd">
<TextBlock.Foreground>
<SolidColorBrush Color="Red"></SolidColorBrush>
</TextBlock.Foreground>
</TextBlock>

 

注意:在Sliverlight中,几乎所有和颜色有关的属性都是Brush类型

 

(2)Brush类是一个什么类

说明:Brush是一个绘制图形的类


(3)什么是实心颜色画刷(单色笔刷)

说明: 它的标签是SolidColorBrush,重要的属性是Color填充颜色

<Rectangle.Fill>
<SolidColorBrush Color="Green"></SolidColorBrush>
</Rectangle.Fill>

 

(4)点击按钮,改变TextBlock控件文字颜色为绿色

说明:

SolidColorBrush solid = new SolidColorBrush();
solid.Color = Colors.Green;
tb1.Foreground = solid;

 


(5)什么是线型渐变画刷

说明:
线型渐变标签是LinearGradient
几个重要属性:StartPoint EndPoint
它的渐变点是GradientStop


(6)线型渐变画刷的渐变点是什么,它的offset属性有什么含义

说明:
渐变点:GradientStop
Offset值的范围是0---1,表示渐变点所属区域的位置

 

(7)线型渐变画刷的起始位置是哪两个属性,它和x轴和y轴是什么关系,不同数值代表什么含义

说明:
起始位置是 StartPoint(x,y) EndPoint(x,y)
表示渐变的方向


(8)在Rectangle控件中用线型渐变画刷对3种颜色分别从横向和纵向画出一个渐变

说明:

横向线型渐变

<Rectangle.Fill>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
<GradientStop Color="Red" Offset="0"></GradientStop>
<GradientStop Color="Yellow" Offset="0.5"></GradientStop>
<GradientStop Color="Green" Offset="1"></GradientStop>
</LinearGradientBrush>
</Rectangle.Fill>

 

纵向线型渐变
StartPoint="0,0" EndPoint="0,1"


(9)把TextBlock控件中文字作出一个线型渐变的效果

说明:

<TextBlock.Foreground>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
<GradientStop Color="Black" Offset="0"></GradientStop>
<GradientStop Color="Blue" Offset="0.25"></GradientStop>
<GradientStop Color="Yellow" Offset="0.75"></GradientStop>
</LinearGradientBrush>
</TextBlock.Foreground>

  


(10)作一个文字闪烁的效果(线性渐变,定时器,TextBlock)

说明:

DispatcherTimer dt = new DispatcherTimer();
dt.Interval = TimeSpan.FromMilliseconds(300);
dt.Tick += dt_Tick;
dt.Start();

double number = 0.1;
void dt_Tick(object sender,EventArgs e)
{
tb1.Text = gs1.Offset.ToString();
if (gs1.Offset >= 1 || gs1.Offset<=0)
{
number = - number;
}

gs1.Offset += number;

if (gs1.Offset > 1)
{
gs1.Offset = 1;
}
if (gs1.Offset < 0)
{
gs1.Offset = 0;
}

}

 

注意:
使用DispatcherTimer,要引用using System.Windows.Threading;

 

(11)什么是径向渐变,径向渐变的中心点如何设置?

说明:

径向渐变的标签是RadialGradientBrush

它的属性有:

GradientOrigin是焦点,它是定义渐变的开始
GradientOrigin设置中心点,默认是GradientOrigin="0.5,0.5",即处于中心点位置

Center="x,y"获取或设置外面圆的圆心,默认值是Center="0.5,0.5"

RadiusX 获取或设置外面圆的水平半径,默认值是RadiusX="0.5"
RadiusY 获取或设置最面圆的垂直半径,默认值是RadiusY="0.5"

 

(12)在Rectangle控件中实现一个径向渐变的时空门效果

说明:

<Rectangle.Fill>
<RadialGradientBrush GradientOrigin="0.5,0.5" Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5">
<GradientStop Color="Red" Offset="0"></GradientStop>
<GradientStop Color="Blue" Offset="0.5"></GradientStop>
<GradientStop Color="Green" Offset="1"></GradientStop>
</RadialGradientBrush>
</Rectangle.Fill>

 


(13)什么是图片画刷,在TextBlock中文字和背景色上演示一下

说明:
图片画刷的标签是ImageBrush,表示用图片绘制
重要的属性是ImageSource

<TextBlock.Foreground>
<ImageBrush ImageSource="1.jpg"></ImageBrush>
</TextBlock.Foreground>

 

 


(14)什么是视频画刷,在TextBlock中文字和背景色上演示一下

说明:

视频画刷的标签是VideoBrush,它的重要的属性是SourceName
需要放一个MediaElement

<TextBlock FontSize="50" HorizontalAlignment="Left" Margin="88,100,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top">
<TextBlock.Foreground>
<VideoBrush SourceName="video1"></VideoBrush>
</TextBlock.Foreground>
</TextBlock>
<MediaElement Name="video1" Visibility="Collapsed" Source="1.wmv" HorizontalAlignment="Left" Height="100" Margin="71,100,0,0" VerticalAlignment="Top" Width="100"/>

 

 

 

(15)回顾一下,这五种画刷

说明:
SolidColorBrush 纯色画刷
LinearGradientBrush 线型渐变画刷
RadialGradientBrush 径向渐变画刷
ImageBrush 图片画刷
VideoBrush 视频画刷

posted @ 2015-04-07 15:19  华子的幸福生活  阅读(590)  评论(0编辑  收藏  举报