System::Drawing::Drawing2D::Matrix 类

Matrix class

表示定义变换操作的 3x3 矩阵。此类的对象只能使用 System::MakeObject() 函数分配。切勿在栈上或使用 operator new 创建此类型的实例,因为这会导致运行时错误和/或断言故障。始终将此类包装在 System::SmartPtr 指针中,并使用该指针将其作为参数传递给函数。

class Matrix : public System::Object

方法

方法描述
Clone() const创建当前对象的副本。
Dispose()释放当前对象获取的所有操作系统资源。
Equals(ptr) override测试指定的对象是否为 Matrix 且与此对象相同。
get_Elements() const返回一个数组,按以下顺序包含矩阵的元素:m11、m12、m21、m22、dx、dy。
get_IsIdentity() const确定当前对象表示的矩阵是否为单位矩阵。
get_IsInvertible() const确定当前对象表示的矩阵是否可逆。
get_OffsetX() const返回当前对象表示的矩阵的 X 平移值。
get_OffsetY() const返回当前对象表示的矩阵的 Y 平移值。
Invert()对当前对象表示的矩阵求逆。
Matrix()构造一个表示单位矩阵的 Matrix 类的新实例。
Matrix(float, float, float, float, float, float)构造一个 Matrix 类的新实例,并使用指定的值进行初始化。
Matrix(const Rectangle&, const ArrayPtr<Point>&)构造一个 Matrix 类的新实例,以实现由指定矩形和点数组定义的几何变换。
Matrix(const RectangleF&, const ArrayPtr<PointF>&)构造一个 Matrix 类的新实例,以实现由指定矩形和点数组定义的几何变换。
Multiply(const SharedPtr<Matrix>&)将当前对象表示的矩阵与指定矩阵相乘。
Multiply(const SharedPtr<Matrix>&, MatrixOrder)将当前对象表示的矩阵与指定矩阵相乘。
Reset()重置当前对象表示的矩阵,使其成为单位矩阵。
Rotate(float)按指定角度顺时针旋转当前对象表示的矩阵。
Rotate(float, MatrixOrder)按指定角度顺时针围绕原点旋转当前对象表示的矩阵。
RotateAt(float, const PointF&)按指定角度顺时针围绕指定点旋转当前对象表示的矩阵。
RotateAt(float, const PointF&, MatrixOrder)按指定角度顺时针围绕指定点旋转当前对象表示的矩阵。
Scale(float, float)将指定的缩放向量应用于当前对象表示的矩阵。
Scale(float, float, MatrixOrder)将指定的缩放向量应用于当前对象表示的矩阵。
Shear(float, float)将指定的剪切向量应用于当前对象表示的矩阵。
Shear(float, float, MatrixOrder)将指定的剪切向量应用于当前对象表示的矩阵。
TransformPoints(const ArrayPtr<Point>&)将当前对象表示的矩阵定义的几何变换应用于指定的点。
TransformPoints(const System::Details::ArrayView<Point>&)将当前对象表示的矩阵定义的几何变换应用于指定的点。
TransformPoints(const ArrayPtr<PointF>&)将当前对象表示的矩阵定义的几何变换应用于指定的点。
TransformPoints(const System::Details::ArrayView<PointF>&)将当前对象表示的矩阵定义的几何变换应用于指定的点。
TransformVectors(const ArrayPtr<Point>&)仅将当前对象表示的矩阵的缩放和旋转分量应用于指定的点。
TransformVectors(const System::Details::ArrayView<Point>&)仅将当前对象表示的矩阵的缩放和旋转分量应用于指定的点。
TransformVectors(const ArrayPtr<PointF>&)仅将当前对象表示的矩阵的缩放和旋转分量应用于指定的点。
TransformVectors(const System::Details::ArrayView<PointF>&)仅将当前对象表示的矩阵的缩放和旋转分量应用于指定的点。
Translate(float, float)将指定的平移向量应用于当前对象表示的矩阵。
Translate(float, float, MatrixOrder)将指定的平移向量应用于当前对象表示的矩阵。
VectorTransformPoints(const ArrayPtr<Point>&)将数组中的每个向量乘以当前对象表示的矩阵。
VectorTransformPoints(const System::Details::ArrayView<Point>&)将数组中的每个向量乘以当前对象表示的矩阵。
virtual ~Matrix()析构函数。

另见