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 视频画刷