Matrix

Matrix class

封装表示几何变换的 3×3 仿射矩阵。这个类不能被继承。

public sealed class Matrix : IDisposable

构造函数

姓名描述
Matrix()将 Matrix 类的新实例初始化为单位矩阵。
Matrix(Rectangle, Point[])初始化Matrix类到由指定的矩形和点数组定义的几何变换。
Matrix(RectangleF, PointF[])初始化Matrix类到由指定的矩形和点数组定义的几何变换。
Matrix(float, float, float, float, float, float)使用指定元素初始化 Matrix 类的新实例。

特性

姓名描述
Elements { get; }获取表示此 Matrix 元素的浮点值数组。
IsIdentity { get; }获取一个值,该值指示此 Matrix 是否为单位矩阵。
IsInvertible { get; }获取一个值,该值指示此矩阵是否可逆。
OffsetX { get; }获取这个Matrix的x平移值(dx值,或者第三行第一列的元素)。
OffsetY { get; }获取 y 平移值(dy此 Matrix. 的值或第三行第二列中的元素)

方法

姓名描述
Clone()创建此矩阵的精确副本。
Dispose()释放此矩阵使用的所有资源。
Invert()反转这个矩阵,如果它是可逆的。
Multiply(Matrix)相乘Matrix由指定的矩阵matrix参数, 通过预先指定的Matrix.
Multiply(Matrix, MatrixOrder)相乘Matrix由指定的矩阵matrix参数, 并按照指定的顺序order参数.
Reset()重置此Matrix拥有单位矩阵的元素。
Rotate(float)在此之前添加Matrix绕原点顺时针旋转指定角度。
Rotate(float, MatrixOrder)围绕原点(零 x 和 y 坐标)应用角度参数中指定的量的顺时针旋转Matrix.
RotateAt(float, PointF)围绕点参数中指定的点对该矩阵应用顺时针旋转,并在旋转之前添加。
RotateAt(float, PointF, MatrixOrder)以指定顺序围绕指定点顺时针旋转此矩阵。
Scale(float, float)通过预先添加比例向量将指定的比例向量应用于此矩阵。
Scale(float, float, MatrixOrder)使用指定的顺序将指定的比例向量(scaleX 和 scaleY)应用于此矩阵。
Shear(float, float)通过预先添加剪切变换将指定的剪切向量应用于此矩阵。
Shear(float, float, MatrixOrder)以指定的顺序将指定的剪切向量应用于此矩阵。
TransformPoints(PointF[])应用由此表示的几何变换Matrix到指定的点数组。
TransformPoints(Point[])应用由此表示的几何变换Matrix到指定的点数组。
TransformVectors(PointF[])将数组中的每个向量乘以矩阵。该矩阵(第三行)的平移元素被忽略。
Translate(float, float)通过预先添加平移向量将指定的平移向量(offsetX 和 offsetY)应用于此矩阵。
Translate(float, float, MatrixOrder)以指定的顺序将指定的平移向量应用于此矩阵。

也可以看看