使用渐变绘制区域

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

线性渐变

LinearGradientBrush 使用沿一条直线(即"渐变轴")定义的渐变来绘制区域。可以使用 GradientStop 对象指定渐变的颜色及其在渐变轴上的位置。还可以修改渐变轴,这样能够创建水平和垂直渐变并反转渐变方向。默认情况下创建对角线渐变。

< StackPanel >
<!-- This rectangle is painted with a diagonal linear gradient. -->
< Rectangle Width = " 200 " Height = " 100 " >
< Rectangle.Fill >
< LinearGradientBrush StartPoint = " 0,0 " EndPoint = " 1,1 " >
< GradientStop Color = " Yellow " Offset = " 0.0 " />
< GradientStop Color = " Red " Offset = " 0.25 " />
< GradientStop Color = " Blue " Offset = " 0.75 " />
< GradientStop Color = " LimeGreen " Offset = " 1.0 " />
</ LinearGradientBrush >
</ Rectangle.Fill >
</ Rectangle >
</ StackPanel >

GradientStop 是渐变画笔的基本构造块。渐变停止点指定渐变轴上 Offset 处的 Color

径向渐变

LinearGradientBrush 类似,RadialGradientBrush 用沿一条轴混合在一起的颜色绘制区域。径向渐变画笔的轴由一个圆圈定义;其颜色从圆圈的原点向外辐射。

< StackPanel >
<!-- This rectangle is painted with a radial gradient. -->
< Rectangle Width = " 200 " Height = " 100 " >
< Rectangle.Fill >
< RadialGradientBrush GradientOrigin = " 0.5,0.5 " Center = " 0.5,0.5 "
RadiusX
= " 0.5 " RadiusY = " 0.5 " >
< GradientStop Color = " Yellow " Offset = " 0 " />
< GradientStop Color = " Red " Offset = " 0.25 " />
< GradientStop Color = " Blue " Offset = " 0.75 " />
< GradientStop Color = " LimeGreen " Offset = " 1 " />
</ RadialGradientBrush >
</ Rectangle.Fill >
</ Rectangle >
</ StackPanel >


绘制图像

ImageBrush 类支持您将图像用作填充、背景和轮廓。ImageBrush 使用由 ImageSource 属性指定的 JPEG 或 PNG 图像来绘制区域。使用要加载的图像的路径来设置 ImageSource 属性。

< Grid x:Name = " LayoutRoot " >
< Grid.Background >
< ImageBrush ImageSource = " Forest.jpg " />
</ Grid.Background >
</ Grid >

绘制视频

VideoBrush 类支持您使用视频绘制某个区域。以下示例使用 VideoBrush 绘制 TextBlockForeground

< Grid x:Name = " LayoutRoot " Background = " White " >

< MediaElement
x:Name
= " butterflyMediaElement "
Source
= " Butterfly.wmv " IsMuted = " True "
Opacity
= " 0.0 " IsHitTestVisible = " False " />

< TextBlock Canvas.Left = " 5 " Canvas.Top = " 30 "
FontFamily
= " Verdana " FontSize = " 120 "
FontWeight
= " Bold " TextWrapping = " Wrap "
Text
= " Video " >

<!-- Paint the text with video. -->
< TextBlock.Foreground >
< VideoBrush SourceName = " butterflyMediaElement " Stretch = " UniformToFill " />
</ TextBlock.Foreground >
</ TextBlock >

</ Grid >


转载于:https://www.cnblogs.com/landexia/archive/2011/03/15/1985381.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值