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)之類的相對位置,用起來時需要先計算大小,略有不便。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM