lovevs2010

开启学习软件之门

博客园 首页 新随笔 联系 订阅 管理

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

Xaml:

 

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

 

cs:

 

代码
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

posted on 2009-12-30 23:27  lovevs2010  阅读(924)  评论(0编辑  收藏  举报