Class Matrix

Matrix class

Encapsulates a 3-by-3 affine matrix that represents a geometric transform. This class cannot be inherited.

public sealed class Matrix : IDisposable

Constructors

NameDescription
Matrix()Initializes a new instance of the Matrix class as the identity matrix.
Matrix(Rectangle, Point[])Initializes a new instance of the Matrix class to the geometric transform defined by the specified rectangle and array of points.
Matrix(RectangleF, PointF[])Initializes a new instance of the Matrix class to the geometric transform defined by the specified rectangle and array of points.
Matrix(float, float, float, float, float, float)Initializes a new instance of the Matrix class with the specified elements.

Properties

NameDescription
Elements { get; }Gets an array of floating-point values that represents the elements of this Matrix.
IsIdentity { get; }Gets a value indicating whether this Matrix is the identity matrix.
IsInvertible { get; }Gets a value indicating whether this Matrix is invertible.
OffsetX { get; }Gets the x translation value (the dx value, or the element in the third row and first column) of this Matrix.
OffsetY { get; }Gets the y translation value (the dy value, or the element in the third row and second column) of this Matrix.

Methods

NameDescription
Clone()Creates an exact copy of this Matrix.
Dispose()Releases all resources used by this Matrix.
Invert()Inverts this Matrix, if it is invertible.
Multiply(Matrix)Multiplies this Matrix by the matrix specified in the matrix parameter, by prepending the specified Matrix.
Multiply(Matrix, MatrixOrder)Multiplies this Matrix by the matrix specified in the matrix parameter, and in the order specified in the order parameter.
Reset()Resets this Matrix to have the elements of the identity matrix.
Rotate(float)Prepend to this Matrix a clockwise rotation, around the origin and by the specified angle.
Rotate(float, MatrixOrder)Applies a clockwise rotation of an amount specified in the angle parameter, around the origin (zero x and y coordinates) for this Matrix.
RotateAt(float, PointF)Applies a clockwise rotation to this Matrix around the point specified in the point parameter, and by prepending the rotation.
RotateAt(float, PointF, MatrixOrder)Applies a clockwise rotation about the specified point to this Matrix in the specified order.
Scale(float, float)Applies the specified scale vector to this Matrix by prepending the scale vector.
Scale(float, float, MatrixOrder)Applies the specified scale vector (scaleX and scaleY) to this Matrix using the specified order.
Shear(float, float)Applies the specified shear vector to this Matrix by prepending the shear transformation.
Shear(float, float, MatrixOrder)Applies the specified shear vector to this Matrix in the specified order.
TransformPoints(PointF[])Applies the geometric transform represented by this Matrix to a specified array of points.
TransformPoints(Point[])Applies the geometric transform represented by this Matrix to a specified array of points.
TransformVectors(PointF[])Multiplies each vector in an array by the matrix. The translation elements of this matrix (third row) are ignored.
Translate(float, float)Applies the specified translation vector (offsetX and offsetY) to this Matrix by prepending the translation vector.
Translate(float, float, MatrixOrder)Applies the specified translation vector to this Matrix in the specified order.

See Also