Aracılığıyla paylaş


Nasıl yapılır: Video ile bir Alanı Boyama

Bu örnekte, bir alanın medyayla nasıl boyanacakları gösterilmektedir. Medya içeren bir alanı boyamanın bir yolu ile birlikte VisualBrushkullanmaktırMediaElement. MediaElement Medyayı yüklemek ve yürütmek için öğesini kullanın ve ardından özelliğini VisualBrushayarlamak Visual için kullanın. Ardından, yüklü medyayla bir alanı boyamak için öğesini kullanabilirsiniz VisualBrush .

VisualBrush ile MediaElement kullanma

Aşağıdaki örnek MediaElementVisualBrush , bir denetimin resmini video ile boyamak Foreground için ve TextBlock kullanır. Bu örnek, özelliğini MediaElementtrue olarak ayarlarIsMuted, böylece ses üretmez.

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>

VisualBrush'ın yüklü medya ile birlikte kullanılması

VisualBrush sınıfından devraldığındanTileBrush, birkaç döşeme modu sağlar. öğesinin TileModeVisualBrushTile özelliğini ve olarak ayarlayarak, özelliğini boyadığınız alandan daha küçük bir değere ayarlayarak Viewport , kutucuklu bir desen oluşturabilirsiniz.

Aşağıdaki örnek, videodan bir desen oluşturması VisualBrush dışında önceki örnekle aynıdır.

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>

Uygulamanıza medya dosyası gibi bir içerik dosyası ekleme hakkında bilgi için bkz . WPF Uygulama Kaynağı, İçerik ve Veri Dosyaları. Bir medya dosyası eklediğinizde, bunu kaynak dosyası olarak değil içerik dosyası olarak eklemeniz gerekir.

Ayrıca bkz.