SkewTransform Class
Assembly: PresentationCore (in presentationcore.dll)
XML Namespace: http://schemas.microsoft.com/winfx/2006/xaml/presentation
A SkewTransform is useful for creating the illusion of 3-dimensional depth in a 2-D object.
Freezable Features: Because it inherits from the Freezable class, the SkewTransform class provides several special features: SkewTransform objects can be declared as resources, shared among multiple objects, made read-only to improve performance, cloned, and made thread-safe. For more information about the different features provided by Freezable objects, see the Freezable Objects Overview.
This example shows how to use a SkewTransform to skew an element. A skew, which is also known as a shear, is a transformation that stretches the coordinate space in a non-uniform manner. One typical use of a SkewTransform is for simulating 3-D depth in 2-D objects.
Use the CenterX and CenterY properties to specify the center point of the SkewTransform.
Use the AngleX and AngleY properties to specify the skew angle of the x-axis and y-axis, and to skew the current coordinate system along these axes.
To predict the effect of a skew transformation, consider that AngleX skews x-axis values relative to the original coordinate system. Therefore, for an AngleX of 30, the y-axis rotates 30 degrees through the origin and skews the values in x- by 30 degrees from that origin. Likewise, an AngleY of 30 skews the y- values of the shape by 30 degrees from the origin. Note that this is not the same effect as translating (moving) the coordinate system by 30 degrees in x- or y-.
The following example applies a horizontal skew of 45 degrees to a Rectangle from a center point of (0,0).
<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>
The following example applies a horizontal skew of 45 degrees to a Rectangle from a center point of (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>
The following example applies a vertical skew of 45 degrees to a Rectangle from a center point of (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>
The following illustration shows the different skews that are used in this example.
The three SkewTransform examples illustrated
For the complete sample, see 2-D Transforms Sample.
Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.