WPF初体验

  新装了Win7+VS2010,终于有机会体验一下传说中的WPF了,废话不多说,Go!

  由于经常做信息发布的缘故,起手肯定会先去看一下WPF自带怎样的控件来显示视频,找了一下,是一个叫做MediaElement的控件;先写了一句最简单的显示本地视频的代码:

< MediaElement Height = " 237 "  HorizontalAlignment = " Left "  Margin = " 58,42,0,0 "  Name = " mediaElement1 "  VerticalAlignment = " Top "  Width = " 368 "  Source = " SuperSpeedway.wmv "   />

 

  显示效果如图:

  由于MediaElement继承自UIElement,因此可以使用Clip方法来对视频进行裁剪:

  ExpandedBlockStart.gif代码

         < MediaElement Height = " 237 "  HorizontalAlignment = " Left "  Margin = " 58,42,0,0 "  Name = " mediaElement1 "  VerticalAlignment = " Top "  Width = " 368 "  Source = " SuperSpeedway.wmv "   >
            
< MediaElement.Clip >
                
< EllipseGeometry Center = " 220 220 "  RadiusX = " 220 "  RadiusY = " 220 " />
            
</ MediaElement.Clip >
        
</ MediaElement >

    显示效果如图:

  也可以设置视频的透明度:

ExpandedBlockStart.gif代码

         < MediaElement Width = " 368 "  Source = " SuperSpeedway.wmv "  Opacity = " 0.5 " >
            
< MediaElement.Clip >
                
< EllipseGeometry Center = " 220 220 "  RadiusX = " 220 "  RadiusY = " 220 " />
            
</ MediaElement.Clip >
        
</ MediaElement >

  或者旋转:

ExpandedBlockStart.gif代码

         < MediaElement Width = " 368 "  Source = " SuperSpeedway.wmv "  Opacity = " 0.5 " >
            
< MediaElement.Clip >
                
< EllipseGeometry Center = " 220 220 "  RadiusX = " 220 "  RadiusY = " 220 " />
            
</ MediaElement.Clip >
            
< MediaElement.LayoutTransform >
                
< RotateTransform Angle = " 180 " />
            
</ MediaElement.LayoutTransform >
        
</ MediaElement >

 

  也可以播放两个视频并且反向重叠:

ExpandedBlockStart.gif 代码
         < MediaElement Canvas.Left = " 300 "  Canvas.Top = " 300 "  Source = " SuperSpeedway.wmv " >
            
< MediaElement.Clip >
                
< EllipseGeometry Center = " 200 200 "  RadiusX = " 200 "  RadiusY = " 200 " />
            
</ MediaElement.Clip >
            
< MediaElement.LayoutTransform >
                
< RotateTransform Angle = " 0 " />
            
</ MediaElement.LayoutTransform >
        
</ MediaElement >
        
< MediaElement Canvas.Left = " 400 "  Canvas.Top = " 300 "  Source = " SuperSpeedway.wmv "  Opacity = " 0.5 " >
            
< MediaElement.Clip >
                
< EllipseGeometry Center = " 200 200 "  RadiusX = " 200 "  RadiusY = " 200 " />
            
</ MediaElement.Clip >
            
< MediaElement.LayoutTransform >
                
< RotateTransform Angle = " 180 " />
            
</ MediaElement.LayoutTransform >
        
</ MediaElement >

   最后实现一个将两个不同的视频通过曲线拼合在一起的实例:

ExpandedBlockStart.gif 代码
         < MediaElement Source = " SuperSpeedway.wmv " >
            
< MediaElement.Clip >
                
< PathGeometry Figures = " M 510,0 C 150,100 300,300 110,400 H600 V0 " />
            
</ MediaElement.Clip >
        
</ MediaElement  >
        
< MediaElement Source = " T2.wmv " >
            
< MediaElement.Clip >
                
< PathGeometry Figures = " M 500,0 C 150,100 300,300 100,400 H0 V0 " />
            
</ MediaElement.Clip >
        
</ MediaElement  >

转载于:https://www.cnblogs.com/acexist/archive/2010/05/14/1735660.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值