Procedura: disegnare un'area con un videoHow to: Paint an Area with a Video

In questo esempio viene illustrato come disegnare un'area con i supporti.This example shows how to paint an area with media. Un modo per disegnare un'area con i supporti consiste nell'utilizzare un MediaElement insieme a un VisualBrush.One way to paint an area with media is to use a MediaElement together with a VisualBrush. Utilizzare il MediaElement per caricare e riprodurre i contenuti multimediali e quindi utilizzarla per impostare il Visual proprietà del VisualBrush.Use the MediaElement to load and play the media, and then use it to set the Visual property of the VisualBrush. È quindi possibile utilizzare il VisualBrush per disegnare un'area con i supporti caricati.You can then use the VisualBrush to paint an area with the loaded media.

EsempioExample

Nell'esempio seguente viene utilizzato un MediaElement e VisualBrush per disegnare il Foreground di un TextBlock controllo con video.The following example uses a MediaElement and a VisualBrush to paint the Foreground of a TextBlock control with video. In questo esempio il IsMuted proprietà del MediaElement a true in modo che non riprodurre suoni.This example sets the IsMuted property of the MediaElement to true so that it produces no sound.

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>

EsempioExample

Poiché VisualBrush eredita il TileBrush (classe), fornisce varie modalità di affiancamento.Because VisualBrush inherits from the TileBrush class, it provides several tiling modes. Impostando il TileMode proprietà di un VisualBrush a Tile e impostando il relativo Viewport proprietà su un valore più piccolo dell'area da disegnare, è possibile creare un modello affiancato.By setting the TileMode property of a VisualBrush to Tile and by setting its Viewport property to a value smaller than the area that you are painting, you can create a tiled pattern.

Nell'esempio seguente è identico all'esempio precedente, tranne il fatto che il VisualBrush genera un modello dal video.The following example is identical to the previous example, except that the VisualBrush generates a pattern from the 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 di supporto, per l'applicazione, vedere risorse dell'applicazione WPF, contenuto e i file di dati.For information about how to add a content file, such as a media file, to your application, see WPF Application Resource, Content, and Data Files. Quando si aggiunge un file multimediale, è necessario aggiungere un file di contenuto, non come un file di risorse.When you add a media file, you must add it as a content file, not as a resource file.

Vedere ancheSee Also

VisualBrush
Disegnare con oggetti Image, Drawing e VisualPainting with Images, Drawings, and Visuals
Panoramica sugli oggetti TileBrushTileBrush Overview
Panoramica delle funzionalità multimedialiMultimedia Overview