Procedura: inclinare un elemento
In questo esempio viene illustrato come utilizzare un oggetto SkewTransform per inclinare un elemento. Un'inclinazione, nota anche come distorsione, è una trasformazione che estende lo spazio delle coordinate in modo non uniforme. Un utilizzo tipico di un oggetto SkewTransform è la simulazione della profondità 3-D in oggetti 2-D.
Utilizzare le proprietà CenterX e CenterY per specificare il punto centrale dell'oggetto SkewTransform.
Utilizzare le proprietà AngleX e AngleY per specificare l'angolo di inclinazione dell'asse x e dell'asse y e per inclinare il sistema di coordinate corrente lungo questi assi.
Per prevedere l'effetto di una trasformazione di inclinazione, considerare che la proprietà AngleX inclina i valori dell'asse x relativi al sistema di coordinate originale. Di conseguenza, per una proprietà AngleX pari a 30, l'asse y ruota di 30 gradi rispetto all'origine e inclina i valori nell'asse x di 30 gradi rispetto a tale origine. Analogamente, una proprietà AngleY pari a 30 inclina i valori dell'asse y della forma di 30 gradi rispetto all'origine. Si noti che questo non è lo stesso effetto ottenuto traslando (spostando) il sistema di coordinate di 30 gradi sull'asse x o y.
Nell'esempio riportato di seguito viene applicata un'inclinazione orizzontale di 45 gradi a un oggetto Rectangle da un punto centrale di (0,0).
Esempio
<Rectangle
Height="50" Width="50" Fill="#CCCCCCFF"
Stroke="Blue" StrokeThickness="2"
Canvas.Left="100" Canvas.Top="100">
<Rectangle.RenderTransform>
<!-- Applies a horizontal skew of 45 degrees
from a center point of (0,0). -->
<SkewTransform CenterX="0" CenterY="0" AngleX="45" AngleY="0" />
</Rectangle.RenderTransform>
</Rectangle>
Nell'esempio riportato di seguito viene applicata un'inclinazione orizzontale di 45 gradi a un oggetto Rectangle da un punto centrale di (25,25).
<Rectangle Height="50" Width="50" Fill="#CCCCCCFF"
Canvas.Left="100" Canvas.Top="100"
Stroke="Blue" StrokeThickness="2">
<Rectangle.RenderTransform>
<!-- Applies a horizontal skew of 45 degrees
from a center point of (25,25). -->
<SkewTransform CenterX="25" CenterY="25" AngleX="45" AngleY="0" />
</Rectangle.RenderTransform>
</Rectangle>
Nell'esempio riportato di seguito viene applicata un'inclinazione verticale di 45 gradi a un oggetto Rectangle da un punto centrale di (25,25).
<Rectangle Height="50" Width="50" Fill="#CCCCCCFF"
Stroke="Blue" StrokeThickness="2"
Canvas.Left="100" Canvas.Top="100">
<Rectangle.RenderTransform>
<!-- Applies a vertical skew of 45 degrees
from a center point of (25,25). -->
<SkewTransform CenterX="25" CenterY="25" AngleX="0" AngleY="45" />
</Rectangle.RenderTransform>
</Rectangle>
Nell'illustrazione riportata di seguito vengono illustrate le diverse inclinazioni utilizzate in questo esempio.
Illustrazione dei tre esempi di SkewTransform
Per l'esempio completo, vedere Esempio di trasformazioni bidimensionali (la pagina potrebbe essere in inglese).
Vedere anche
Riferimenti
Concetti
Cenni preliminari sulle trasformazioni