先决条件
由于 VideoBrush 依赖 MediaElement 对象来提供视频流,您应该了解如何创建 MediaElement 并使用它打开媒体文件。
什么是 VideoBrush?
VideoBrush 是一种类似于 LinearGradientBrush 或 ImageBrush 的 Brush 对象。但是 ,该对象使用视频内容而不是渐变或图像来绘制区域。这些视频内容通过 MediaElement 提 供。与其他画笔类型类似,您可以使用 VideoBrush 来绘制 Rectangle 的 Fill、Canvas 的 Background,或是 TextBlock 的 Foreground。
使用视频绘制 TextBlock
若要使用视频绘制一个区域,需要创建一个 MediaElement 和一个 VideoBrush,并将该 VideoBrush 应用到要绘制的对象(请参见下面的示例)。
在此节中,您需要使用 VideoBrush 和 MediaElement 绘制下面的 XAML 中所示的 TextBlock。
XAML
<Canvas>
<!-- The text to paint. -->
<TextBlock
Canvas.Left="5" Canvas.Top="30"
FontFamily="Verdana" FontSize="120" FontWeight="Bold"
Text="Video">
</TextBlock>
</Canvas>
若要使用视频绘制 TextBlock,需要完成以下步骤。
创建一个 MediaElement,并将其 Source 属性设置为要显示的视频的统一资源标识符 (URI)。
XAML
<Canvas>
<MediaElement Source="sampleMedia/Butterfly.wmv" />
<!-- The text to paint. -->
<TextBlock
Canvas.Left="5" Canvas.Top="30"
FontFamily="Verdana" FontSize="120" FontWeight="Bold"
Text="Video">
</TextBlock>
</Canvas>