Matrix Class

Summary: Replaces the GDI+ Matrix.

Module: aspose.psd

Full Name: aspose.psd.Matrix

Aspose.PSD Version: 24.9.0

Constructors

NameDescription
Matrix()Initializes a new instance of the Matrix class as the identity matrix.
Matrix(m11, m12, m21, m22, m31, m32)Initializes a new instance of the Matrix class.
Matrix(origin)Makes a copy of the Matrix class.
Matrix(rect, plgpts)Initializes a new instance of the Matrix class to the geometric transform defined by the specified rectangle and array of points.
Matrix(rect, plgpts)Initializes a new instance of the Matrix class to the geometric transform defined by the specified rectangle and array of points.

Properties

NameTypeAccessDescription
TYPE_FLIP [static]intrThis flag bit indicates that the transform defined by this object
performs a mirror image flip about some axis which changes the
normally right handed coordinate system into a left handed
system in addition to the conversions indicated by other flag bits.
A right handed coordinate system is one where the positive X
axis rotates counterclockwise to overlay the positive Y axis
similar to the direction that the fingers on your right hand
curl when you stare end on at your thumb.
A left handed coordinate system is one where the positive X
axis rotates clockwise to overlay the positive Y axis similar
to the direction that the fingers on your left hand curl.
There is no mathematical way to determine the angle of the
original flipping or mirroring transformation since all angles
of flip are identical given an appropriate adjusting rotation.
NOTE: TypeFlip was added after GENERAL_TRANSFORM was in public
circulation and the flag bits could no longer be conveniently
renumbered without introducing binary incompatibility in outside
code.
TYPE_GENERAL_ROTATION [static]intrThis flag bit indicates that the transform defined by this object
performs a rotation by an arbitrary angle in addition to the
conversions indicated by other flag bits.
A rotation changes the angles of vectors by the same amount
regardless of the original direction of the vector and without
changing the length of the vector.
This flag bit is mutually exclusive with the
TYPE_GENERAL_SCALE [static]intrA general scale multiplies the length of vectors by different
amounts in the x and y directions without changing the angle
between perpendicular vectors.
This flag bit is mutually exclusive with the TypeUniformScale flag.
TYPE_GENERAL_TRANSFORM [static]intrThis constant indicates that the transform defined by this object
performs an arbitrary conversion of the input coordinates.
If this transform can be classified by any of the above constants,
the type will either be the constant TypeIdentity or a
combination of the appropriate flag bits for the various coordinate
conversions that this transform performs.
TYPE_IDENTITY [static]intrAn identity transform is one in which the output coordinates are
always the same as the input coordinates.
If this transform is anything other than the identity transform,
the type will either be the constant GENERAL_TRANSFORM or a
combination of the appropriate flag bits for the various coordinate
conversions that this transform performs.
TYPE_MASK_ROTATION [static]intrThis constant is a bit mask for any of the rotation flag bits.
TYPE_MASK_SCALE [static]intrThis constant is a bit mask for any of the scale flag bits.
TYPE_QUADRANT_ROTATION [static]intrThis flag bit indicates that the transform defined by this object
performs a quadrant rotation by some multiple of 90 degrees in
addition to the conversions indicated by other flag bits.
A rotation changes the angles of vectors by the same amount
regardless of the original direction of the vector and without
changing the length of the vector.
This flag bit is mutually exclusive with the TypeGeneralRotation flag.
TYPE_TRANSLATION [static]intrA translation moves the coordinates by a constant amount in x
and y without changing the length or angle of vectors.
TYPE_UNIFORM_SCALE [static]intrA uniform scale multiplies the length of vectors by the same amount
in both the x and y directions without changing the angle between
vectors.
This flag bit is mutually exclusive with the TypeGeneralScale flag.
elementsfloatrGets an array of floating-point values that represents the elements of this Matrix.
m11floatrGets the matrix element at first row first column. Represents scale along X axis.
m12floatrGets the matrix element at first row second column. Represents shear along Y axis.
m21floatrGets the matrix element at second row first column. Represents shear along X axis.
m22floatrGets the matrix element at second row second column. Represents scale along Y axis.
m31floatrGets the matrix element at third row first column. Represents translation along X axis.
m32floatrGets the matrix element at third row first column. Represents translation along Y axis.

Methods

NameDescription
get_elements()Gets the copy of matrix elements.
multiply(tx)Multiplies this Matrix by the matrix specified in the matrix parameter using (default) Prepend order.
multiply(tx, order)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(angle)Applies a clockwise rotation of an amount specified in the angle parameter, around the origin (zero x and y coordinates) for this Matrix in the default (Prepend) order.
rotate(angle, order)Applies a clockwise rotation of an amount specified in the angle parameter, around the origin (zero x and y coordinates) for this Matrix in the specified order.
rotate_at(angle, point)Applies a clockwise rotation about the specified point to this Matrix in the default (Prepend) order.
rotate_at(angle, point, order)Applies a clockwise rotation about the specified point to this Matrix in the specified order.
scale(scale_x, scale_y, order)Applies the specified scale vector (scaleX and scaleY) to this Matrix using the specified order.
scale(sx, sy)Applies the specified scale vector (scaleX and scaleY) to this Matrix using (default) Prepend order.
transform_points(points)Applies the geometric transform represented by this Matrix to a specified array of points.
translate(offset_x, offset_y, order)Applies the specified translation vector to this Matrix in the specified order.
translate(tx, ty)Applies the specified translation vector to this Matrix using (default) Prepend order.

Constructor: Matrix()

 Matrix() 

Initializes a new instance of the Matrix class as the identity matrix.

Constructor: Matrix(m11, m12, m21, m22, m31, m32)

 Matrix(m11, m12, m21, m22, m31, m32) 

Initializes a new instance of the Matrix class.

Parameters:

ParameterTypeDescription
m11floatm00 M11 Scale X
m12floatm10 M12 Shear Y
m21floatm01 M21 Shear X
m22floatm11 M22 Scale Y
m31floatm02 M31 Translate X
m32floatm12 M32 Translate Y

Constructor: Matrix(origin)

 Matrix(origin) 

Makes a copy of the Matrix class.

Parameters:

ParameterTypeDescription
originMatrixA base matrix for coping

Constructor: Matrix(rect, plgpts)

 Matrix(rect, plgpts) 

Initializes a new instance of the Matrix class to the geometric transform defined by the specified rectangle and array of points.

Parameters:

ParameterTypeDescription
rectRectangleFA RectangleF structure that represents the rectangle to be transformed.
plgptsPointF[]An array of three PointF structures that represents the points of a parallelogram to which the upper-left, upper-right, and lower-left corners of the rectangle is to be transformed. The lower-right corner of the parallelogram is implied by the first three corners.

Constructor: Matrix(rect, plgpts)

 Matrix(rect, plgpts) 

Initializes a new instance of the Matrix class to the geometric transform defined by the specified rectangle and array of points.

Parameters:

ParameterTypeDescription
rectRectangleA RectangleF structure that represents the rectangle to be transformed.
plgptsPoint[]An array of three PointF structures that represents the points of a parallelogram to which the upper-left, upper-right, and lower-left corners of the rectangle is to be transformed. The lower-right corner of the parallelogram is implied by the first three corners.

Method: get_elements()

 get_elements() 

Gets the copy of matrix elements.

Returns

TypeDescription
floatA matrix elements copy.

Method: multiply(tx)

 multiply(tx) 

Multiplies this Matrix by the matrix specified in the matrix parameter using (default) Prepend order.

Parameters:

ParameterTypeDescription
txMatrixThe matrix to multiply with.

Method: multiply(tx, order)

 multiply(tx, order) 

Multiplies this Matrix by the matrix specified in the matrix parameter, and in the order specified in the order parameter.

Parameters:

ParameterTypeDescription
txMatrixThe tx. The tx. The tx.
orderMatrixOrderThe order. The order. The order.

Method: rotate(angle)

 rotate(angle) 

Applies a clockwise rotation of an amount specified in the angle parameter, around the origin (zero x and y coordinates) for this Matrix in the default (Prepend) order.

Parameters:

ParameterTypeDescription
anglefloatThe rotate angle.

Method: rotate(angle, order)

 rotate(angle, order) 

Applies a clockwise rotation of an amount specified in the angle parameter, around the origin (zero x and y coordinates) for this Matrix in the specified order.

Parameters:

ParameterTypeDescription
anglefloatThe rotate angle.
orderMatrixOrderThe matrix order.

Method: rotate_at(angle, point)

 rotate_at(angle, point) 

Applies a clockwise rotation about the specified point to this Matrix in the default (Prepend) order.

Parameters:

ParameterTypeDescription
anglefloatThe angle.
pointPointFThe point.

Method: rotate_at(angle, point, order)

 rotate_at(angle, point, order) 

Applies a clockwise rotation about the specified point to this Matrix in the specified order.

Parameters:

ParameterTypeDescription
anglefloatThe angle.
pointPointFThe point.
orderMatrixOrderThe order.

Method: scale(scale_x, scale_y, order)

 scale(scale_x, scale_y, order) 

Applies the specified scale vector (scaleX and scaleY) to this Matrix using the specified order.

Parameters:

ParameterTypeDescription
scale_xfloatThe scale X.
scale_yfloatThe scale Y.
orderMatrixOrderThe order.

Method: scale(sx, sy)

 scale(sx, sy) 

Applies the specified scale vector (scaleX and scaleY) to this Matrix using (default) Prepend order.

Parameters:

ParameterTypeDescription
sxfloatThe sx. The sx. The sx.
syfloatThe sy. The sy. The sy.

Method: transform_points(points)

 transform_points(points) 

Applies the geometric transform represented by this Matrix to a specified array of points.

Parameters:

ParameterTypeDescription
pointsPointF[]The points.

Method: translate(offset_x, offset_y, order)

 translate(offset_x, offset_y, order) 

Applies the specified translation vector to this Matrix in the specified order.

Parameters:

ParameterTypeDescription
offset_xfloatThe offset X.
offset_yfloatThe offset Y.
orderMatrixOrderThe order.

Method: translate(tx, ty)

 translate(tx, ty) 

Applies the specified translation vector to this Matrix using (default) Prepend order.

Parameters:

ParameterTypeDescription
txfloatThe tx. The tx. The tx.
tyfloatThe ty. The ty. The ty.