Matrix
概述
Matrix 是 Aspose.PDF FOSS 中用于 .NET 的类。
表示一个 3x3 变换矩阵 [a b 0; c d 0; e f 1]。
此类提供 30 个用于在 .NET 程序中操作 Matrix 对象的方法。可用的方法包括:Add、Equals、GetAngle、GetFlipMatrix、GetHashCode、Inverse、InverseTransformPoint、Matrix、Multiply、Reverse、Rotate、Rotation,以及另外 8 个方法。安装 Aspose.PDF FOSS for .NET 包后,所有公共成员对任何 .NET 应用程序均可访问。属性:A、B、C、D、Data、E,以及另外 3 项。
属性
| 名称 | 类型 | 访问 | 描述 |
|---|---|---|---|
A | double | 读写 | 获取或设置 a。 |
B | double | 读写 | 获取或设置 b。 |
C | double | 读写 | 获取或设置 c。 |
D | double | 读写 | 获取或设置 d。 |
E | double | 读写 | 获取或设置 e。 |
F | double | 读写 | 获取或设置 f。 |
Data | double[] | 读取 | 矩阵元素作为一个6元素 double 数组。 |
Elements | float[] | 读取 | 矩阵元素作为一个6元素 float 数组。 |
Identity | Matrix | 读取 | 单位矩阵。 |
方法
| 签名 | 描述 |
|---|---|
Matrix() | 默认构造函数 — 生成单位矩阵。 |
Matrix(a: double, b: double, c: double, d: double, e: double, f: double) | 在此 Matrix 实例上调用 Matrix(a, b, c, d, e, f)。 |
Matrix(matrix: Matrix) | 拷贝构造函数。 |
Matrix(matrixArray: double[]) | 从 6 元素数组 [a, b, c, d, e, f] 创建矩阵。 |
Matrix(matrixArray: float[]) | 使用 6 元素浮点数组创建矩阵。 |
Translate(tx: double, ty: double) | 创建平移矩阵。 |
Scale(sx: double, sy: double) | 创建缩放矩阵。 |
Rotate(degrees: double) | 创建旋转矩阵(角度为度)。 |
Translate(dx: double, dy: double, source: Matrix) | 在源上组合平移:返回 source × translate(dx, dy)。 |
Scale(sx: double, sy: double, source: Matrix) | 在源上组合缩放:返回 source × scale(sx, sy)。 |
Rotation(alpha: double) | 创建旋转矩阵;alpha 以弧度为单位。 |
Rotation(rotation: Rotation) | 为四种标准 PDF 旋转之一创建旋转矩阵。 |
Skew(alpha: double, beta: double) | 创建一个倾斜/剪切矩阵;alpha 和 beta 以弧度为单位。 |
GetAngle(rotation: Rotation) | 将 Rotation 值转换为弧度角度。 |
GetFlipMatrix() | 一个翻转 Y 轴的矩阵(垂直镜像)。 |
Add(other: Matrix) | 逐元素相加。 |
Multiply(other: Matrix) | 将此矩阵乘以另一个矩阵:this × other. |
TransformPoint(x: double, y: double) | 变换一个点(通过元组返回结果 —— 便利)。 |
Transform(x: double, y: double, x1: double, y1: double) | 变换一个点并通过 out 参数返回结果。 |
InverseTransformPoint(x: double, y: double) | 通过此矩阵的逆变换一个点(通过元组返回结果)。 |
UnTransform(x1: double, y1: double, x: double, y: double) | 对点进行逆变换并通过 out 参数返回结果。 |
Scale(x: double, y: double, x1: double, y1: double) | 仅应用此矩阵的缩放部分(去除平移分量)。 |
UnScale(x1: double, y1: double, x: double, y: double) | 应用逆向缩放(去除平移)。 |
Inverse() | 计算逆矩阵。 |
Reverse() | 计算反向(逆)矩阵。 |
Transform(p: Point) | 变换一个点。 |
Transform(rect: Rectangle) | 变换一个矩形。 |
Equals(obj: object?) | 在此 Matrix 实例上调用 Equals(obj)。 |
GetHashCode() | 在此 Matrix 实例上调用 GetHashCode。 |
ToString() | 在此 Matrix 实例上调用 ToString。 |