Freigeben über


Gewusst wie: Zeichnen eines Bereichs mit einem Video

Aktualisiert: November 2007

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.

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.

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 Windows Presentation Foundation-Anwendungsressource, Inhalts- und Datendateien. Wenn Sie eine Mediendatei hinzufügen, müssen Sie diese als Inhaltsdatei und nicht als Ressourcendatei hinzufügen.

Siehe auch

Konzepte

Zeichnen mit Bildern, Zeichnungen und visuellen Elementen

Übersicht über TileBrush

Übersicht über Multimedia

Referenz

VisualBrush