방법: 비디오로 영역 그리기
업데이트: 2007년 11월
이 예제에서는 미디어를 사용하여 영역을 그리는 방법을 보여 줍니다. 미디어로 영역을 그리는 한 가지 방법은 MediaElement와 VisualBrush를 함께 사용하는 것입니다. MediaElement를 사용하여 미디어를 로드 및 재생하고 이 미디어를 사용하여 VisualBrush의 Visual 속성을 설정합니다. 그런 다음 VisualBrush를 사용하여 로드된 미디어로 영역을 그릴 수 있습니다.
예제
다음 예제에서는 MediaElement 및 VisualBrush를 사용하여 비디오로 TextBlock 컨트롤의 Foreground를 그립니다. 이 예제는 MediaElement의 IsMuted 속성을 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 클래스에서 상속되기 때문에 몇 가지 바둑판식 배열 모드도 제공합니다. VisualBrush의 TileMode 속성을 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>
응용 프로그램에 미디어 파일과 같은 콘텐츠 파일을 추가하는 방법에 대한 자세한 내용은 Windows Presentation Foundation 응용 프로그램 리소스, 콘텐츠 및 데이터 파일을 참조하십시오. 미디어 파일을 추가할 때는 리소스 파일이 아닌 콘텐츠 파일로 추가해야 합니다.