Windows UWP开发系列 – 3D变换

在Win8.1中,引入了一个PlaneProjection可以实现3D变换,但它的变换方式比较简单,只能实现基本的旋转操作。在Windows 10 UWP中,引入了一个更加强大的3D变换Transform3D,系统默认内置了两中变换方式:PerspectiveTransform3D和CompositeTransform3D。一个简单的示例如下: 

    <StackPanel HorizontalAlignment="Center">
        <Image Source="Assets\img.jpg" Width="400" Name="image">
            <Image.Transform3D>
                <CompositeTransform3D CenterX="200" CenterY="100" 
                                      RotationX="{x:Bind sliderX.Value,Mode=OneWay}" 
                                      RotationY="{x:Bind sliderY.Value,Mode=OneWay}" 
                                      RotationZ="{x:Bind sliderZ.Value,Mode=OneWay}">
                </CompositeTransform3D>
            </Image.Transform3D>
        </Image>
        <Slider x:Name="sliderX" Maximum="360" Width="400" Margin="0,10,0,10"></Slider>
        <Slider x:Name="sliderY" Maximum="360" Width="400" Margin="0,10,0,10"></Slider>
        <Slider x:Name="sliderZ" Maximum="360" Width="400" Margin="0,10,0,10"></Slider>
    </StackPanel>

 运行效果如下:

    

上面的例子比较简单,一旦和动画结合起来后,是可以实现非常酷的3D动画效果的,Win10的磁贴翻转效果貌似就是用它做的。最后提一下的是,貌似CompositeTransform3D的旋转中心点只能传入绝对位置,而无法传入类似(0.5, 0.5)之类的相对位置,用起来时需要先计算大小,略有不便。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值