xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">
<!--
(一) 画笔作用: 可以使用 Silverlight 画笔对象以纯色、线性渐变、径向渐变和图像进行绘制
(二) 画笔分类:
(1)SolidColorBrush(纯色画笔 )
(2)LinearGradientBrush(线性渐变画笔):使用沿一条直线(即"渐变轴")定义的渐变来绘制区域 ,渐变轴是一条直线
渐变停止点(GradientStop):描述渐变中过渡点的位置(Offset)和颜色(Color)。
渐变停止点的 Color 属性指定渐变停止点的颜色
渐变停止点的 Offset 属性指定渐变停止点的颜色在渐变轴上的位置。偏移量是一个范围从 0 至 1 的 Double 值。
由于渐变停止点不提供 opacity 属性,因此必须使用 ARGB 十六进制表示法或 ScRGB 表示法来指定颜色的 alpha 通道,
以创建透明或部分透明的渐变停止点(例如:<GradientStop Color="#200000FF" Offset="0.0" />)
渐变轴:线性渐变画笔的渐变停止点位于一条直线上,这条线就是渐变轴
StartPoint 和 EndPoint 属性更改直线的方向和大小,
通过操作画笔的 StartPoint 和 EndPoint,可以创建水平和垂直渐变、反转渐变方向以及压缩渐变的范围等
默认情况点 (0,0) 表示绘制区域的左上角,(1,1) 表示绘制区域的右下角,你可以调整两个点如(0.5,0.7)和(0.4,0.8)
(3)RadialGradientBrush(径向渐变画笔):渐变轴由一个圆圈定义,其颜色从圆圈的原点向外辐射。
GradientOrigin 指定径向渐变画笔的渐变轴的起点。渐变轴从渐变原点辐射至渐变圆。
画笔的渐变圆由其 Center、RadiusX 和 RadiusY 属性定义。
(4)ImageBrush(图像画笔) :持您将图像用作填充、背景和轮廓
ImageSource属性:指定的JPEG或PNG图像
Stretch 属性: Fill(默认) None、Uniform 、UniformToFill 来更改绘制的区域行为。
(5)VideoBrush(视频画笔): 使用视频绘制一个区域
由于 VideoBrush 依赖 MediaElement 对象来提供视频流,您应该了解如何创建 MediaElement 并使用它打开媒体文件
若要使用视频绘制一个区域,需要创建一个 MediaElement 和一个 VideoBrush,并将该 VideoBrush 应用到要绘制的对象
IsMuted属性:获取或设置一个值,该值指示是否已静音
SourceName属性 :提供画笔视频的 MediaElement 的名称。
-->
<StackPanel>
<!--线性渐变画笔-->
<Rectangle Width="200" Height="100">
<Rectangle.Fill>
<LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5">
<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>
<!--径向渐变画笔-->
<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>
<!--图像画笔-->
<Rectangle Width="200" Height="100">
<Rectangle.Fill>
<ImageBrush ImageSource="/SharpStudy;component/Transformer.png" Stretch="UniformToFill"/>
</Rectangle.Fill>
</Rectangle>
<!--视频画笔-->
<Canvas>
<MediaElement x:Name="butterflyMediaElement" Source="Wildlife.wmv" IsMuted="True" Opacity="0.0" IsHitTestVisible="False" />
<TextBlock Canvas.Left="33" Canvas.Top="41" FontFamily="Verdana" FontSize="200" FontWeight="Bold" TextWrapping="Wrap" Text="Video" >
<TextBlock.Foreground>
<VideoBrush SourceName="butterflyMediaElement" Stretch="Fill" />
</TextBlock.Foreground>
</TextBlock>
</Canvas>
</StackPanel>
</UserControl>