MatrixTransform Class
Creates an arbitrary affine matrix transformation that is used to manipulate objects or coordinate systems in a 2-D plane.
Assembly: PresentationCore (in PresentationCore.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
Use the MatrixTransform class to create custom transformations that are not provided by the RotateTransform, SkewTransform, ScaleTransform, or TranslateTransform classes.
A 3x3 matrix is used for transformations in a 2-D x-y plane. You can multiply affine matrix transformations to form linear transformations, such as rotation and skew (shear) that are followed by translation.
An affine matrix transformation has its final column equal to (0, 0, 1); therefore, you only have to specify the members in the first two columns.
A Windows Presentation Foundation (WPF) Matrix has the following structure:
The members in the last row, OffsetX and OffsetY, represent translation values.
Methods and properties usually specify the transformation matrix as a vector that has only six members; the members are as follows:
This example shows how to use a MatrixTransform to translate (move) the position, stretch, and skew of a Button.
Note: |
|---|
Use the MatrixTransform class to create custom transformations that are not provided by the RotateTransform, SkewTransform, ScaleTransform, or TranslateTransform classes. |
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" > <StackPanel Margin="20"> <Canvas HorizontalAlignment="Left" Width="340" Height="240" > <Button MinWidth="100">Click <Button.RenderTransform> <MatrixTransform x:Name="myMatrixTransform"> <MatrixTransform.Matrix > <!-- OffsetX and OffsetY specify the position of the button, M11 stretches it, and M12 skews it. --> <Matrix OffsetX="10" OffsetY="100" M11="3" M12="2"/> </MatrixTransform.Matrix> </MatrixTransform> </Button.RenderTransform> </Button> </Canvas> </StackPanel> </Page>
More Code
| How to: Animate a Matrix by Using Key Frames | This example shows how to animate the Matrix property of a MatrixTransform by using key frames. |
| How to: Animate an Object Along a Path (Matrix Animation) | This example shows how to use the MatrixAnimationUsingPath class to animate an object along a path that is defined by a PathGeometry. |
Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Note: