I ont un carré de 400 x 400 avec une projection plane attachée à elleConversion de systèmes de coordonnées lors de l'utilisation projection plane dans silverlight 3
<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>
comment je déterminer les limites de la transformée carré de telle sorte que des objets placés sur elle ne sera pas hors limites?
Merci pour la réponse. J'ai essayé ceci en vain avant de poster, mais encore je peux me tromper. GeneralTransform transform = control.TransformToVisual (Ground); Coordonnées du point = transform.Transform (nouveau point (Ground.Margin.Left + Ground.Width, Ground.Margin.Top + Ground.Height)); Donc, en théorie, cela devrait me donner un point qui se trouve dans le coin inférieur droit du rectangle transformé, mais ce n'est pas le cas. Je me demande si j'ai besoin de transformer le rectangle à la toile contenant le rectangle. Je vais essayer cela et voir. –
Si vous voulez obtenir le coin inférieur droit de "Ground" par rapport à un panneau (disons "LayoutRoot"), vous feriez: var transform = Ground.TransformToVisual (LayoutRoot); var point = transform.Transform (nouveau Point (Ground.Width, Ground.Height); – KeithMahoney