Как изменить размер и растянуть окно видео (XAML)

Свойство MediaElement.Stretch позволяет изменить способ заполнения контейнера видеосодержимым. Видео меняет размер и растягивается в зависимости от значения Stretch.

Схема создания: каким образом эта тема связана с другими? См.:

Что необходимо знать

Технологии

  • Объекты среды выполнения Windows

Необходимые условия

Для работы с этим разделом вам нужно уметь создавать простые приложения среды выполнения Windows на C++, C# или Visual Basic. Информацию о создании первого приложения см. в разделе Создание первого приложения Магазина Windows на C# или Visual Basic.

В этом разделе предполагается, что вы знакомы с классом MediaElement. Начальные сведения по использованию класса MediaElement см. в разделе Краткое руководство: видео и звук.

Инструкции

Этап 1: Введение

Состояния Stretch аналогичны параметрам размера картинки на многих телевизорах.

  • Значение None показывает содержимое в основном разрешении и исходном размере.
  • Значение Uniform заполняет максимально возможное место, сохраняя пропорции и содержимое изображения. При этом по краям видео могут образовываться горизонтальные или вертикальные черные полосы. Это аналогично широкоэкранным режимам.
  • Значение UniformToFill заполняет все доступное место, сохраняя пропорции. При этом часть изображения может обрезаться. Это аналогично полноэкранным режимам.
  • Значение Fill заполняет все доступное место, но не сохраняет пропорции. Изображение не обрезается, но может растягиваться. Это аналогично режимам с растяжением.

Показывает, как выглядят различные значения растяжения

Значение UniformToFill аналогично свойству HTML msZoom.

Этап 2: Создание MediaElement

Создайте объект MediaElement и дайте ему Name. Если дать объекту имя, то к нему будет легче обращаться в коде программной части.


<MediaElement x:Name="mediaPlayer" 
              Source="Videos/video1.mp4" 
              Width="400" 
              AutoPlay="False"
              AreTransportControlsEnabled="True" />


Этап 3: Изменение размера видео операцией Stretch

Класс AppBarButton позволяет вызвать метод, который выполняет операцию Stretch.


<AppBarButton Icon="Switch" 
          Label="Resize Video"
          Click="PictureSize_Click" />


Оператор swtich проверяет текущее состояние свойства Stretch и устанавливает его в следующее значение из перечисления Stretch. Таким образом пользователь может циклически проходить по различным состояниям растяжения.


private void PictureSize_Click(object sender, RoutedEventArgs e)
{
    switch (media.Stretch)
    {
        case Stretch.Fill:
            mediaPlayer.Stretch = Stretch.None;
            break;
        case Stretch.None:
            mediaPlayer.Stretch = Stretch.Uniform;
            break;
        case Stretch.Uniform:
            mediaPlayer.Stretch = Stretch.UniformToFill;
            break;
        case Stretch.UniformToFill:
            mediaPlayer.Stretch = Stretch.Fill;
            break;
        default:
            break;
    }
}


Связанные разделы

Схема создания универсальных приложений Windows на C#, C++ или Visual Basic
Краткое руководство: видео и звук
Образец воспроизведения мультимедиа в XAML
MediaElement
MediaElement.Stretch
Stretch
Воспроизведение мультимедиа от А до Я

 

 

Показ:
© 2015 Microsoft