Windows UWP开发系列 – 3D变换
2015-10-11 10:59
381 查看
在Win8.1中,引入了一个PlaneProjection可以实现3D变换,但它的变换方式比较简单,只能实现基本的旋转操作。在Windows 10 UWP中,引入了一个更加强大的3D变换Transform3D,系统默认内置了两中变换方式:PerspectiveTransform3D和CompositeTransform3D。一个简单的示例如下:
运行效果如下:
上面的例子比较简单,一旦和动画结合起来后,是可以实现非常酷的3D动画效果的,Win10的磁贴翻转效果貌似就是用它做的。最后提一下的是,貌似CompositeTransform3D的旋转中心点只能传入绝对位置,而无法传入类似(0.5, 0.5)之类的相对位置,用起来时需要先计算大小,略有不便。
<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)之类的相对位置,用起来时需要先计算大小,略有不便。
相关文章推荐
- app发布流程详解
- static
- 关于CSS的优先级,CSS优先级计算,多个class引用
- Android Tab切换表格头
- 在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口
- 【小白装系统】——硬盘分区表格式GUID和MBR知识普及
- 理解JMS规范中的持久订阅和非持久订阅
- MySQL中的全文索引
- ubuntu不能正常使用make menuconfig的解决方案
- hdu 5500 Reorder the Books(模拟)
- OC 自动释放池学习笔记
- Java中Runnable和Thread的区别
- 开发专题指南: JEECG高速微云开发平台前言
- iOS 关于应用能打包但是不能提交至App Store的解决办法
- 四、机器学习系统设计笔记之主体模型
- Python 基础语法(二)
- 完全卸载oracle11g步骤
- 大话设计模式笔记 解释器模式
- 如何建立测试管理体系
- POJ 3087 Shuffle'm Up(BFS)