zoukankan      html  css  js  c++  java
  • Windows UWP开发系列 – 3D变换

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

        <StackPanel HorizontalAlignment="Center">
            <Image Source="Assetsimg.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)之类的相对位置,用起来时需要先计算大小,略有不便。

  • 相关阅读:
    Linux/Android 系统怎么修改mac地址
    Vue.js和jQuery混合使用的一点注意事项
    wpf研究之道——datagrid控件及样式
    asp.net url重写
    如何解决一个问题
    Word 2007 封面、目录和正文页码单独设置
    .net 多线程
    我对asp.net运行机制的理解
    Firefox扩展安装
    谷歌chrome 插件(扩展)开发——谈谈安装
  • 原文地址:https://www.cnblogs.com/TianFang/p/4868933.html
Copyright © 2011-2022 走看看