Bagikan melalui


Cara: Melukis Area dengan Video

Contoh ini menunjukkan cara melukis area dengan media. Salah satu cara untuk mengecat area dengan media adalah dengan menggunakan MediaElement bersama dengan VisualBrush. MediaElement Gunakan untuk memuat dan memutar media, lalu gunakan untuk mengatur Visual properti VisualBrush. Anda kemudian dapat menggunakan VisualBrush untuk mengecat area dengan media yang dimuat.

Menggunakan MediaElement dengan VisualBrush

Contoh berikut menggunakan MediaElement dan VisualBrush untuk melukis ForegroundTextBlock kontrol dengan video. Contoh ini mengatur IsMuted properti MediaElement ke true sehingga tidak menghasilkan suara.

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>

Menggunakan VisualBrush dengan media yang dimuat

Karena VisualBrush mewarisi dari TileBrush kelas , ia menyediakan beberapa mode petak peta. Dengan mengatur TileMode properti ke VisualBrushTile dan dengan mengatur propertinya Viewport ke nilai yang lebih kecil dari area yang Anda lukis, Anda dapat membuat pola ubin.

Contoh berikut identik dengan contoh sebelumnya, kecuali bahwa VisualBrush menghasilkan pola dari 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>

Untuk informasi tentang cara menambahkan file konten, seperti file media, ke aplikasi Anda, lihat Sumber Daya Aplikasi, Konten, dan File Data WPF. Saat menambahkan file media, Anda harus menambahkannya sebagai file konten, bukan sebagai file sumber daya.

Baca juga