Show / Hide Table of Contents

Практическое руководство. Заливка области с помощью видео

В этом примере показано, как заливка области с медиа-носителями. Закраска области с медиа-носителями один из способов является использование MediaElement вместе с VisualBrush. Используйте MediaElement для загрузки и воспроизведения мультимедиа и затем использовать его для задания Visual свойство VisualBrush. Затем можно использовать VisualBrush для закраски области с загруженным мультимедиа.

Пример

В следующем примере используется MediaElement и VisualBrush для закрашивания Foreground из TextBlock элемента управления с видео. В этом примере устанавливается IsMuted свойство MediaElement для true таким образом, чтобы отключить звук.

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>

Пример

Так как VisualBrush наследует от TileBrush класс, он предоставляет несколько режимов заполнения. Установив TileMode свойство VisualBrush для Tile и установив его Viewport свойства со значением меньше, чем область закрашивания, можно создать шаблон заполнения.

Следующий пример идентичен предыдущему примеру, за исключением случаев, VisualBrush создает шаблон из видео.

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>

Сведения о том, как добавить файл содержимого, такие как файл мультимедиа в приложение, см. в разделе ресурса приложения WPF, содержимое и файлы данных. При добавлении файла мультимедиа, необходимо добавить его как файл содержимого, а не как файл ресурсов.

См. также

  • VisualBrush
  • Рисование с помощью объектов Image, Drawing и Visual
  • Общие сведения о TileBrush
  • Общие сведения о мультимедиа
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX