Freigeben über


Gewusst wie: Zeichnen eines Bereichs mit einem Video

Dieses Beispiel veranschaulicht, wie ein Bereich mit Medien gezeichnet wird. Eine Möglichkeit zum Zeichnen eines Bereichs mit Medien besteht darin, MediaElement zusammen mit VisualBrush zu verwenden. Verwenden Sie MediaElement zum Laden und Wiedergeben der Medien, und legen Sie damit anschließend die Visual-Eigenschaft von VisualBrush fest. Sie können dann VisualBrush verwenden, um einen Bereich mit den geladenen Medien zu zeichnen.

Beispiel

Im folgenden Beispiel werden MediaElement und VisualBrush verwendet, um den Foreground eines TextBlock-Steuerelements mit einem Video zu zeichnen. In diesem Beispiel wird die IsMuted-Eigenschaft von MediaElement auf true festgelegt, damit kein Sound abgespielt wird.

            Dim myMediaElement As New MediaElement()
            myMediaElement.Source = New Uri("sampleMedia\xbox.wmv", UriKind.Relative)
            myMediaElement.IsMuted = True

            Dim myVisualBrush As New VisualBrush()
            myVisualBrush.Visual = myMediaElement

            Dim myTextBlock As New TextBlock()
            myTextBlock.FontSize = 150
            myTextBlock.Text = "Some Text"
            myTextBlock.FontWeight = FontWeights.Bold

            myTextBlock.Foreground = myVisualBrush
MediaElement myMediaElement = new MediaElement();
myMediaElement.Source = new Uri("sampleMedia\\xbox.wmv", UriKind.Relative);
myMediaElement.IsMuted = true;

VisualBrush myVisualBrush = new VisualBrush();
myVisualBrush.Visual = myMediaElement;

TextBlock myTextBlock = new TextBlock();
myTextBlock.FontSize = 150;
myTextBlock.Text = "Some Text";
myTextBlock.FontWeight = FontWeights.Bold;

myTextBlock.Foreground = myVisualBrush;
<TextBlock FontSize="100pt" Text="Some Text" FontWeight="Bold">
  <TextBlock.Foreground>
    <VisualBrush>
      <VisualBrush.Visual>
        <MediaElement Source="sampleMedia\xbox.wmv" IsMuted="True" />
      </VisualBrush.Visual>
    </VisualBrush>
  </TextBlock.Foreground>
</TextBlock>

Da VisualBrush von der TileBrush-Klasse erbt, sind verschiedene Unterteilungsmodi verfügbar. Wenn die TileMode-Eigenschaft von VisualBrush auf Tile und die Viewport-Eigenschaft auf einen Wert festgelegt wird, der kleiner ist als der zu zeichnende Bereich, können Sie ein gekacheltes Muster erstellen.

Das folgende Beispiel ist mit dem vorherigen Beispiel identisch, allerdings wird hier von VisualBrush ein Muster aus dem Video erstellt.

            Dim myMediaElement As New MediaElement()
            myMediaElement.Source = New Uri("sampleMedia\xbox.wmv", UriKind.Relative)
            myMediaElement.IsMuted = True

            Dim myVisualBrush As New VisualBrush()
            myVisualBrush.Viewport = New Rect(0, 0, 0.5, 0.5)
            myVisualBrush.TileMode = TileMode.Tile
            myVisualBrush.Visual = myMediaElement

            Dim myTextBlock As New TextBlock()
            myTextBlock.FontSize = 150
            myTextBlock.Text = "Some Text"
            myTextBlock.FontWeight = FontWeights.Bold

            myTextBlock.Foreground = myVisualBrush
MediaElement myMediaElement = new MediaElement();
myMediaElement.Source = new Uri("sampleMedia\\xbox.wmv", UriKind.Relative);
myMediaElement.IsMuted = true;

VisualBrush myVisualBrush = new VisualBrush();
myVisualBrush.Viewport = new Rect(0, 0, 0.5, 0.5);
myVisualBrush.TileMode = TileMode.Tile;
myVisualBrush.Visual = myMediaElement;

TextBlock myTextBlock = new TextBlock();
myTextBlock.FontSize = 150;
myTextBlock.Text = "Some Text";
myTextBlock.FontWeight = FontWeights.Bold;

myTextBlock.Foreground = myVisualBrush;
<TextBlock FontSize="100pt" Text="Some Text" FontWeight="Bold">
  <TextBlock.Foreground>
    <VisualBrush Viewport="0,0,0.5,0.5" TileMode="Tile">
      <VisualBrush.Visual>

        <MediaElement Source="sampleMedia\xbox.wmv" IsMuted="True" /> 
      </VisualBrush.Visual>
    </VisualBrush>
  </TextBlock.Foreground>
</TextBlock>

Informationen zum Hinzufügen einer Inhaltsdatei zur Anwendung, z. B. einer Mediendatei, finden Sie unter WPF-Anwendungsressource, Inhalts- und Datendateien. Wenn Sie eine Mediendatei hinzufügen, müssen Sie diese als Inhaltsdatei und nicht als Ressourcendatei hinzufügen.

Siehe auch

Referenz

VisualBrush

Konzepte

Zeichnen mit Bildern, Zeichnungen und visuellen Elementen

Übersicht über TileBrush

Übersicht über Multimedia