System::Drawing::Drawing2D::Matrix class

Matrix class

Represents a 3x3 matrix that defines transform operations. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.

class Matrix : public System::Object

Methods

MethodDescription
Clone() constCreates a copy of the current object.
Dispose()Releases all operating system resources acquired by the current object.
Equals(ptr) overrideTests whether the specified object is a Matrix and is identical to this object.
get_Elements() constReturns an arry containing the elements of the matrix in the following order: m11, m12, m21, m22, dx, dy.
get_IsIdentity() constDetermines if the matrix represented by the current object is an identity matrix.
get_IsInvertible() constDetermines if the matrix represented by the current object is invertible.
get_OffsetX() constReturns the X translation value of the matrix represented by the current object.
get_OffsetY() constReturns the Y translation value of the matrix represented by the current object.
Invert()Inverts the matrix represented by the current object.
Matrix()Constructs a new instance of Matrix class that represents an identity matrix.
Matrix(float, float, float, float, float, float)Constructs a new instance of Matrix class and initializes it with the specified values.
Matrix(const Rectangle&, const ArrayPtr<Point>&)Constructs a new instance of the Matrix class to the geometric transform defined by the specified rectangle and array of points.
Matrix(const RectangleF&, const ArrayPtr<PointF>&)Constructs a new instance of the Matrix class to the geometric transform defined by the specified rectangle and array of points.
Multiply(const SharedPtr<Matrix>&)Multiplies the matrix represented by the current object by the specified matrix.
Multiply(const SharedPtr<Matrix>&, MatrixOrder)Multiplies the matrix represented by the current object by the specified matrix.
Reset()Resets the matrix represented by the current object so that it becomes an identity matrix.
Rotate(float)Rotates the matrix represented by the current object clockwise by the specified angle.
Rotate(float, MatrixOrder)Rotates the matrix represented by the current object clockwise around the origin by the specified angle.
RotateAt(float, const PointF&)Rotates the matrix represented by the current object clockwise around the specified point by the specified angle.
RotateAt(float, const PointF&, MatrixOrder)Rotates the matrix represented by the current object clockwise around the specified point by the specified angle.
Scale(float, float)Applies the specified scale vector to the matrix represented by the current object.
Scale(float, float, MatrixOrder)Applies the specified scale vector to the matrix represented by the current object.
Shear(float, float)Applies the specified shear vector to the matrix represented by the current object.
Shear(float, float, MatrixOrder)Applies the specified shear vector to the matrix represented by the current object.
TransformPoints(const ArrayPtr<Point>&)Applies the geometric transformation defined by the matrix represented by the current object to the specified points.
TransformPoints(const System::Details::ArrayView<Point>&)Applies the geometric transformation defined by the matrix represented by the current object to the specified points.
TransformPoints(const ArrayPtr<PointF>&)Applies the geometric transformation defined by the matrix represented by the current object to the specified points.
TransformPoints(const System::Details::ArrayView<PointF>&)Applies the geometric transformation defined by the matrix represented by the current object to the specified points.
TransformVectors(const ArrayPtr<Point>&)Applies only the scale and rotate components of the matrix represented by the current object to the specified points.
TransformVectors(const System::Details::ArrayView<Point>&)Applies only the scale and rotate components of the matrix represented by the current object to the specified points.
TransformVectors(const ArrayPtr<PointF>&)Applies only the scale and rotate components of the matrix represented by the current object to the specified points.
TransformVectors(const System::Details::ArrayView<PointF>&)Applies only the scale and rotate components of the matrix represented by the current object to the specified points.
Translate(float, float)Applies the specified translate vector to the matrix represented by the current object.
Translate(float, float, MatrixOrder)Applies the specified translate vector to the matrix represented by the current object.
VectorTransformPoints(const ArrayPtr<Point>&)Multiplies each vector in an array by the matrix represented by the current object.
VectorTransformPoints(const System::Details::ArrayView<Point>&)Multiplies each vector in an array by the matrix represented by the current object.
virtual ~Matrix()Destructor.

See Also