SilverLight使用C#代码实现3D透视效果

我很少写东西,往常写东西都是来提问的,好了不废话:

Xaml:

 

ExpandedBlockStart.gif 代码
         < Image  Source ="images/1.png"  x:Name ="img" >
            
< Image.Projection >
                
< PlaneProjection  x:Name ="myimagePlanProjection" ></ PlaneProjection >
            
</ Image.Projection >
        
</ Image >

 

cs:

 

ExpandedBlockStart.gif 代码
private   void  LayoutRoot_MouseMove( object  sender, MouseEventArgs e)
        {
            myimagePlanProjection.RotationX 
=  e.GetPosition( null ).X;
            myimagePlanProjection.RotationY 
=  e.GetPosition( null ).Y;
            myimagePlanProjection.RotationY 
=  e.GetPosition( null ).X  -  e.GetPosition( null ).Y;
        }

 

就这样一个简单的图片3D透视效果完成了。

myimagePlanProjection.RotationX  设置X轴的值

myimagePlanProjection.RotationY  设置Y轴的值

myimagePlanProjection.RotationY  设置Z轴的值

我在这里贴这个例子是图方便,所以直接使用了名叫LayoutRoot的Grid的一个鼠标移动,通过e.GetPosition(null).X,e.GetPosition(null).Y来获取当前鼠标所在点的对应数值。我在设置myimagePlanProjection.RotationY的时候是图方便演示就随便设置成了x-y大家在使用的时候可以根据实际情况来设置。

这个简单的例子是展示的图片控件的3D透视,当然可以根据你的需要使用其它控件如:StackPanel

转载于:https://www.cnblogs.com/lovesoft/archive/2009/12/30/1636457.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值