我很少写东西,往常写东西都是来提问的,好了不废话:
Xaml:
代码
<
Image
Source
="images/1.png"
x:Name
="img"
>
< Image.Projection >
< PlaneProjection x:Name ="myimagePlanProjection" ></ PlaneProjection >
</ Image.Projection >
</ Image >
< 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;
}
{
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