在silverlight 3中使用平面投影时转换坐标系

时间:2009-08-31 23:47:19

标签: c# xaml silverlight-3.0

我有一个400 x 400的正方形,附有平面投影

<Rectangle  x:Name="Ground" Width="400" Height="400" Stroke="Black" VerticalAlignment="Bottom" Canvas.Left="60" Canvas.Top="50" >
                <Rectangle.Fill>
                    <ImageBrush ImageSource="_images/grass.jpg"/>
                </Rectangle.Fill>
                <Rectangle.Projection>
                    <PlaneProjection x:Name="GroundPlaneProjection" CenterOfRotationZ="0" GlobalOffsetX="0" GlobalOffsetY="0" GlobalOffsetZ="0" LocalOffsetX="0" LocalOffsetY="0" LocalOffsetZ="0" RotationX="120" RotationY="-40" RotationZ="25"/>
                </Rectangle.Projection>
            </Rectangle>

我如何确定变换后的方块的边界,以便放置在其上的对象不会超出范围?

1 个答案:

答案 0 :(得分:1)

您可以使用UIElement上的TransformToVisual方法在不同元素的坐标空间之间进行转换。这将为您提供一个变换对象,您可以使用该变换对象将一个元素的坐标空间中的点变换为另一个元素的坐标空间。

这可以帮助您实现您的目标。