类 TransformationMatrix

TransformationMatrix class

表示 3x3 变换矩阵 | A B 0 | | C D 0 | | TX TY 1 |。以以下方式转换坐标:x1 = Ax + Cy + TX; y1 = Bx + Dy + TY。

public class TransformationMatrix : ICloneable

构造函数

名称描述
TransformationMatrix()创建标准的 1 对 1 变换矩阵:[ A B C D TX TY ] = [ 1, 0, 0, 1, 0, 0]。
TransformationMatrix(double[])接受具有以下数组表示的变换矩阵:[ A B C D TX TY ]。
TransformationMatrix(double, double, double, double, double, double)创建变换矩阵 [ A B C D TX TY ]

属性

名称描述
A { get; set; }获取或设置 A 变换矩阵值。
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。

另见