Matrix Structure
A 3x3 matrix.
Definition
Namespace: Avalonia
Assembly: Avalonia.Base (in Avalonia.Base.dll)
- C#
- VB
- F#
public readonly struct Matrix : IEquatable<Matrix>
Public Structure Matrix
Implements IEquatable(Of Matrix)
[<SealedAttribute>]
type Matrix =
struct
inherit ValueType
interface IEquatable<Matrix>
end
| Inheritance | Object → ValueType → Matrix |
| Implements | IEquatable(Matrix) |
Remarks
Matrix layout: | 1st col | 2nd col | 3r col | 1st row | scaleX | skewY | perspX | 2nd row | skewX | scaleY | perspY | 3rd row | transX | transY | perspZ | Note: Skia.SkMatrix uses a transposed layout (where for example skewX/skewY and persp0/transX are swapped).
Constructors
| Matrix(Double, Double, Double, Double, Double, Double) | Initializes a new instance of the Matrix struct (equivalent to a 2x3 Matrix without perspective). |
| Matrix(Double, Double, Double, Double, Double, Double, Double, Double, Double) | Initializes a new instance of the Matrix struct. |
Properties
| HasInverse | HasInverse Property - returns true if this matrix is invertible, false otherwise. |
| Identity | Returns the multiplicative identity matrix. |
| IsIdentity | Returns whether the matrix is the identity matrix. |
| M11 | The first element of the first row (scaleX). |
| M12 | The second element of the first row (skewY). |
| M13 | The third element of the first row (perspX: input x-axis perspective factor). |
| M21 | The first element of the second row (skewX). |
| M22 | The second element of the second row (scaleY). |
| M23 | The third element of the second row (perspY: input y-axis perspective factor). |
| M31 | The first element of the third row (offsetX/translateX). |
| M32 | The second element of the third row (offsetY/translateY). |
| M33 | The third element of the third row (perspZ: perspective scale factor). |
Methods
| Append(Matrix) | Appends another matrix as post-multiplication operation. Equivalent to this * value; |
| ContainsPerspective() | Determines if the current matrix contains perspective (non-affine) transforms (true) or only (affine) transforms that could be mapped into an 2x3 matrix (false). |
| CreateRotation(Double) | Creates a rotation matrix using the given rotation in radians. |
| CreateRotation(Double, Point) | Creates a rotation matrix using the given rotation in radians around center point. |
| CreateScale(Vector) | Creates a scale matrix from the given vector scale. |
| CreateScale(Double, Double) | Creates a scale matrix from the given X and Y components. |
| CreateSkew(Double, Double) | Creates a skew matrix from the given axis skew angles in radians. |
| CreateTranslation(Vector) | Creates a translation matrix from the given vector. |
| CreateTranslation(Double, Double) | Creates a translation matrix from the given X and Y components. |
| Equals(Matrix) | Returns a boolean indicating whether the matrix is equal to the other given matrix. |
| Equals(Object) | Returns a boolean indicating whether the given Object is equal to this matrix instance. (Overrides ValueType.Equals(Object)) |
| GetDeterminant() | Calculates the determinant for this matrix. |
| GetHashCode() | Returns the hash code for this instance. (Overrides ValueType.GetHashCode()) |
| GetType() | Gets the Type of the current instance. (Inherited from Object) |
| Invert() | Inverts the Matrix. |
| Parse(String) | Parses a Matrix string. |
| Prepend(Matrix) | Prepends another matrix as pre-multiplication operation. Equivalent to value * this; |
| ToRadians(Double) | Converts an angle in degrees to radians. |
| ToString() | Returns a String representing this matrix instance. (Overrides ValueType.ToString()) |
| Transform(Point) | Transforms the point with the matrix |
| TryDecomposeTransform(Matrix, Matrix.Decomposed) | Decomposes given matrix into transform operations. |
| TryInvert(Matrix) | Attempts to invert the Matrix. |
Operators
| Equality(Matrix, Matrix) | Returns a boolean indicating whether the given matrices are equal. |
| Inequality(Matrix, Matrix) | Returns a boolean indicating whether the given matrices are not equal. |
| Multiply(Matrix, Matrix) | Multiplies two matrices together and returns the resulting matrix. |
| UnaryNegation(Matrix) | Negates the given matrix by multiplying all values by -1. |
Extension Methods
| ToSKMatrix() | (Defined by SkiaSharpExtensions) |