题
MediaElement不支持圆角(radiusx,radiusy).我应该用一个VideoBrush在矩形,圆形的角落?
解决方案
是的-你们两个询问和回答问题你自己...但那是两个选项之一我能想到的。原因可能是一个问题是,你会失去一些功能/控制你从MediaElement控制。另一种选择是,要做到这一点:
- 添加MediaElement你页。
- Draw a Rectangle在它上面的和设想角落的半径
- 右击中的长方形的混合选择"创造剪切路径"
- 用剪切路径你MediaElement
这样你仍然使用MediaElement控制,但是可以"夹子"走你想要什么都得到想要的圆润的效果。
这个例子显示了一个剪MediaElement.我知道这是不容易的图像矢量的道路,但是如果你打开它打开在尽你会看到一个圆MediaElement.
<MediaElement
Height="132" Width="176" Source="Egypt2007.wmv"
Clip="M0.5,24.5 C0.5,11.245166 11.245166,0.5 24.5,0.5 L151.5,0.5
C164.75484,0.5 175.5,11.245166 175.5,24.5 L175.5,107.5 C175.5,
120.75484 164.75484,131.5 151.5,131.5 L24.5,131.5 C11.245166,
131.5 0.5,120.75484 0.5,107.5 z"/>
其他提示
使用圆形的矩形和VideoBrush不会失去你的任何功能/控制采用一种显示MediaElement-因素必须在Xaml无论如何,你可以控制它的使用通常的玩/暂停/停止的方法,除了播放会发生在你的矩形。用剪辑的区域是有点笨拙,因为它比较难以调整的地区。一个矩形更因为你有灵活性的布局。
<MediaElement x:Name="myElement" Source="clip.wmv" Visibility="Collapsed"/>
<Rectangle RadiusX="10" RadiusY="10" Width="640" Height="480">
<Rectangle.Fill>
<VideoBrush Source="myElement" Stretch="Uniform"/>
</Rectangle.Fill>
<Rectangle/>
剪辑的道路带给你"硬"边缘-你也可以使用一个OpacityMask以及(虽然我想这需要更多的处理能力).
试试这个
<Border CornerRadius="8" BorderBrush="Black" Background="Black" BorderThickness="3">
<MediaElement HorizontalAlignment="Center" VerticalAlignment="Top" Stretch="Fill" x:Name="Player" Source="/Assets/Videos/x.mp3" />
</Border>
不隶属于 StackOverflow