Condividi tramite


Procedura: disegnare un'area con un video

In questo esempio viene illustrato come disegnare un'area con supporti. Un modo per disegnare un'area con supporti consiste nell'usare un MediaElement insieme a un oggetto VisualBrush. Usare per MediaElement caricare e riprodurre i supporti e quindi usarlo per impostare la Visual proprietà dell'oggetto VisualBrush. È quindi possibile utilizzare per disegnare un'area VisualBrush con il supporto caricato.

Usare un oggetto MediaElement con un oggetto VisualBrush

Nell'esempio seguente viene utilizzato un MediaElement e un VisualBrush oggetto per disegnare l'oggetto Foreground di un TextBlock controllo con il video. In questo esempio viene impostata la IsMuted proprietà dell'oggetto MediaElement su true in modo che non produa alcun suono.

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;
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
<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>

Usare VisualBrush con il supporto caricato

Poiché VisualBrush eredita dalla TileBrush classe , fornisce diverse modalità di associazione. Impostando la proprietà di un VisualBrush oggetto su Tile e impostandone la TileModeViewport proprietà su un valore inferiore all'area di disegno, è possibile creare un motivo affiancato.

L'esempio seguente è identico all'esempio precedente, ad eccezione del fatto che genera VisualBrush un modello dal video.

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;
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
<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>

Per informazioni su come aggiungere un file di contenuto, ad esempio un file multimediale, all'applicazione, vedere Risorse dell'applicazione WPF, contenuto e file di dati. Quando si aggiunge un file multimediale, è necessario aggiungerlo come file di contenuto, non come file di risorse.

Vedi anche