TransformationMatrix

TransformationMatrix class

表示 3x3 变换矩阵 | AB 0 | |光盘 0 | | TX TY 1 |. 坐标变换如下: x1 = Ax + Cy + TX; y1 = Bx + Dy + TY.

public class TransformationMatrix : ICloneable

构造函数

姓名描述
TransformationMatrix()创建标准的 1 到 1 变换矩阵: [ ABCD TX TY ] = [ 1, 0, 0, 1, 0, 0].
TransformationMatrix(double[])接受具有以下数组表示的变换矩阵: [ ABCD TX TY ].

特性

姓名描述
A { get; set; }获取或设置一个变换矩阵值。
B { get; set; }获取或设置B变换矩阵值。
C { get; set; }获取或设置C变换矩阵值。
D { get; set; }获取或设置D变换矩阵值。
Item { get; }提供对底层数组的访问。
TX { get; set; }获取或设置 TX 变换矩阵值。
TY { get; set; }获取或设置TY变换矩阵值。

方法

姓名描述
Multiply(TransformationMatrix)与另一个变换矩阵相乘。 不改变原始变换矩阵,返回一个新的 TransformationMatrix 对象。
Scale(double, double, out double, out double)用变换矩阵缩放 x 和 y: x1 = Ax + Cy; y1 = Bx + Dy.
ToArray()分配新数组,复制变换矩阵并返回它。
Transform(double, double, out double, out double)用变换矩阵变换 x 和 y: x1 = Ax + Cy + TX; y1 = Bx + Dy + TY.
UnScale(double, double, out double, out double)缩小 x1 和 y1 并返回变换矩阵之前的 x 和 y。
UnTransform(double, double, out double, out double)变换回 x1 和 y1 并返回变换矩阵之前的 x 和 y。

也可以看看