Foxit PDF SDK

Public 成员函数 | 所有成员列表
com.foxit.sdk.common.fxcrt.Matrix2D类 参考

## Public 成员函数
| Matrix2D ()
| 构造一个单位变换矩阵。
| Matrix2D (float a1, float b1, float c1, float d1, float e1, float f1)
| 用六个输入系数构造矩阵。 更多...
void | concat (float a, float b, float c, float d, float e, float f, boolean bPrepended)
| 与另一个矩阵连接。 更多...
void | concat (Matrix2D m, boolean bPrepended)
| 与另一个矩阵连接。 更多...
void | concatInverse (Matrix2D m, boolean bPrepended)
| 连接另一个矩阵的逆矩阵。 更多...
void | copy (Matrix2D m)
| 从另一个矩阵复制系数。 更多...
float | getA ()
| Get 系数a。 更多...
float | getB ()
| Get 系数b。 更多...
float | getC ()
| Get 系数c。 更多...
float | getD ()
| Get 系数d。 更多...
float | getE ()
| Get 系数e。 更多...
float | getF ()
| Get 系数f。 更多...
float | getUnitArea ()
| 获取由两个单位向量组成的平行四边形的面积。 更多...
RectF | getUnitRect ()
| 获取由两个单位向量组成的平行四边形的边界矩形。 更多...
float | getXUnit ()
| 获取X方向的单位大小。 更多...
float | getYUnit ()
| 获取Y方向的单位大小。 更多...
boolean | is90Rotated ()
| 此矩阵是否包含90度或-90度的旋转。 更多...
boolean | isIdentity ()
| 确定矩阵是否为单位变换。 更多...
boolean | isInvertible ()
| 确定矩阵是否可逆。 更多...
boolean | isScaled ()
| 此矩阵是否仅包含缩放（或平移）。没有旋转。 更多...
void | matchRect (RectF dest, RectF src)
| 获取将源矩形变换到目标矩形的矩阵。 更多...
void | reset ()
| 重置当前矩阵。 更多...
void | rotate (float fRadian, boolean bPrepended)
| 旋转矩阵。 更多...
void | rotateAt (float fRadian, float x, float y, boolean bPrepended)
| 在指定位置旋转矩阵。 更多...
void | scale (float sx, float sy, boolean bPrepended)
| 缩放矩阵。 更多...
void | set (float a, float b, float c, float d, float e, float f)
| 更改矩阵中的系数。 更多...
void | set (float[] n)
| 更改矩阵中的系数。 更多...
void | setA (float value)
| Set 系数a。 更多...
void | setB (float value)
| Set 系数b。 更多...
void | setC (float value)
| Set 系数c。 更多...
void | setD (float value)
| Set 系数d。 更多...
void | setE (float value)
| Set 系数e。 更多...
void | setF (float value)
| Set 系数f。 更多...
void | setIdentity ()
| 将矩阵设置为单位变换矩阵。 更多...
void | setReverse (Matrix2D m)
| 将另一个矩阵的逆矩阵的系数设置到此矩阵中。 更多...
void | shear (float fAlphaRadian, float fBetaRadian, boolean bPrepended)
| 剪切矩阵。 更多...
float | transformDistance (float dx, float dy)
| 变换由X和Y值指定的距离。 更多...
int | transformDistance (int dx, int dy)
| 变换由X和Y值指定的距离。 更多...
float | transformDistance (float distance)
| 变换距离。 更多...
void | transformPoint (java.lang.Float x, java.lang.Float y)
| 变换由X和Y值指定的点。 更多...
void | transformPoint (java.lang.Integer x, java.lang.Integer y)
| 变换由X和Y值指定的点。 更多...
void | transformRect (RectF rect)
| 变换一个矩形并返回边界矩形。 结果矩形总是标准化的：left <= right，且 bottom <= top。 更多...
void | transformRect (RectI rect)
| 变换一个矩形并返回边界矩形。 结果矩形总是标准化的：left <= right，且 bottom <= top。 更多...
float | transformXDistance (float dx)
| 变换X距离。 更多...
int | transformXDistance (int dx)
| 变换X距离。 更多...
float | transformYDistance (float dy)
| 变换Y距离。 更多...
int | transformYDistance (int dy)
| 变换Y距离。 更多...
void | translate (float x, float y, boolean bPrepended)
| 平移矩阵。 更多...
void | translateI (int x, int y, boolean bPrepended)
| 平移矩阵。使用整数值。 更多...

## 详细描述

仿射（线性）变换矩阵。

它定义了六个系数：a、b、c、d、e、f。 变换方程为： dest_x = a * src_x + c * src_y + e; dest_y = b * src_x + d * src_y + f;

## 构造及析构函数说明

## ◆ Matrix2D()

com.foxit.sdk.common.fxcrt.Matrix2D.Matrix2D | ( | float | a1,
|  | float | b1,
|  | float | c1,
|  | float | d1,
|  | float | e1,
|  | float | f1
| ) |  |

用六个输入系数构造矩阵。

参数

  [in] | a1 | 输入系数a。
  [in] | b1 | 输入系数b。
  [in] | c1 | 输入系数c。
  [in] | d1 | 输入系数d。
  [in] | e1 | 输入系数e。
  [in] | f1 | 输入系数f。

## 成员函数说明

## ◆ concat() [1/2]

void com.foxit.sdk.common.fxcrt.Matrix2D.concat | ( | float | a,
|  | float | b,
|  | float | c,
|  | float | d,
|  | float | e,
|  | float | f,
|  | boolean | bPrepended
| ) |  |

与另一个矩阵连接。

参数

  [in] | a | 输入矩阵的系数a。
  [in] | b | 输入矩阵的系数b。
  [in] | c | 输入矩阵的系数c。
  [in] | d | 输入矩阵的系数d。
  [in] | e | 输入矩阵的系数e。
  [in] | f | 输入矩阵的系数f。
  [in] | bPrepended | 如果为 true，连接矩阵在左侧相乘，否则在右侧相乘。

返回
  无。

## ◆ concat() [2/2]

void com.foxit.sdk.common.fxcrt.Matrix2D.concat | ( | Matrix2D | m,
|  | boolean | bPrepended
| ) |  |

与另一个矩阵连接。

参数

  [in] | m | 输入的矩阵。
  [in] | bPrepended | 如果为 true，连接矩阵在左侧相乘，否则在右侧相乘。

返回
  无。

## ◆ concatInverse()

void com.foxit.sdk.common.fxcrt.Matrix2D.concatInverse | ( | Matrix2D | m,
|  | boolean | bPrepended
| ) |  |

连接另一个矩阵的逆矩阵。

参数

  [in] | m | 输入的矩阵。
  [in] | bPrepended | 如果为 true，连接矩阵在左侧相乘，否则在右侧相乘。

返回
  无。

## ◆ copy()

void com.foxit.sdk.common.fxcrt.Matrix2D.copy | ( | Matrix2D | m | ) |

从另一个矩阵复制系数。

参数

  [in] | m | 输入的矩阵。

返回
  无。

## ◆ getA()

com.foxit.sdk.common.fxcrt.Matrix2D.getA | ( |  | ) |

Get 系数a。

返回
  系数a。

## ◆ getB()

com.foxit.sdk.common.fxcrt.Matrix2D.getB | ( |  | ) |

Get 系数b。

返回
  系数b。

## ◆ getC()

com.foxit.sdk.common.fxcrt.Matrix2D.getC | ( |  | ) |

Get 系数c。

返回
  系数c。

## ◆ getD()

com.foxit.sdk.common.fxcrt.Matrix2D.getD | ( |  | ) |

Get 系数d。

返回
  系数d。

## ◆ getE()

com.foxit.sdk.common.fxcrt.Matrix2D.getE | ( |  | ) |

Get 系数e。

返回
  系数e。

## ◆ getF()

com.foxit.sdk.common.fxcrt.Matrix2D.getF | ( |  | ) |

Get 系数f。

返回
  系数f。

## ◆ getUnitArea()

float com.foxit.sdk.common.fxcrt.Matrix2D.getUnitArea | ( |  | ) |

获取由两个单位向量组成的平行四边形的面积。

返回
  由两个单位向量组成的平行四边形的面积。

## ◆ getUnitRect()

RectF com.foxit.sdk.common.fxcrt.Matrix2D.getUnitRect | ( |  | ) |

获取由两个单位向量组成的平行四边形的边界矩形。

返回
  单位矩形。

## ◆ getXUnit()

float com.foxit.sdk.common.fxcrt.Matrix2D.getXUnit | ( |  | ) |

获取X方向的单位大小。

返回
  X方向的单位大小。

## ◆ getYUnit()

float com.foxit.sdk.common.fxcrt.Matrix2D.getYUnit | ( |  | ) |

获取Y方向的单位大小。

返回
  Y方向的单位大小。

## ◆ is90Rotated()

boolean com.foxit.sdk.common.fxcrt.Matrix2D.is90Rotated | ( |  | ) |

此矩阵是否包含90度或-90度的旋转。

返回
  true表示当前矩阵包含90度或-90度的旋转，false表示不包含。

## ◆ isIdentity()

boolean com.foxit.sdk.common.fxcrt.Matrix2D.isIdentity | ( |  | ) |

确定矩阵是否为单位变换。

返回
  true表示当前矩阵是单位矩阵，false表示不是。

## ◆ isInvertible()

boolean com.foxit.sdk.common.fxcrt.Matrix2D.isInvertible | ( |  | ) |

确定矩阵是否可逆。

返回
  true表示当前矩阵可逆，false表示不可逆。

## ◆ isScaled()

boolean com.foxit.sdk.common.fxcrt.Matrix2D.isScaled | ( |  | ) |

此矩阵是否仅包含缩放（或平移）。没有旋转。

返回
  true表示当前矩阵仅包含缩放（或平移），false表示不是。

## ◆ matchRect()

void com.foxit.sdk.common.fxcrt.Matrix2D.matchRect | ( | RectF | dest,
|  | RectF | src
| ) |  |

获取将源矩形变换到目标矩形的矩阵。

参数

  [in] | dest | 目标矩形。
  [in] | src | 源矩形。

返回
  无。

## ◆ reset()

void com.foxit.sdk.common.fxcrt.Matrix2D.reset | ( |  | ) |

重置当前矩阵。

返回
  无。

## ◆ rotate()

void com.foxit.sdk.common.fxcrt.Matrix2D.rotate | ( | float | fRadian,
|  | boolean | bPrepended
| ) |  |

旋转矩阵。

参数

  [in] | fRadian | 以弧度为单位的旋转角度。
  [in] | bPrepended | 如果为 true，旋转矩阵在左侧相乘，否则在右侧相乘。

返回
  无。

## ◆ rotateAt()

void com.foxit.sdk.common.fxcrt.Matrix2D.rotateAt | ( | float | fRadian,
|  | float | x,
|  | float | y,
|  | boolean | bPrepended
| ) |  |

在指定位置旋转矩阵。

参数

  [in] | fRadian | 以弧度为单位的旋转角度。
  [in] | x | 旋转的X坐标。
  [in] | y | 旋转的Y坐标。
  [in] | bPrepended | 如果为 true，旋转矩阵在左侧相乘，否则在右侧相乘。

返回
  无。

## ◆ scale()

void com.foxit.sdk.common.fxcrt.Matrix2D.scale | ( | float | sx,
|  | float | sy,
|  | boolean | bPrepended
| ) |  |

缩放矩阵。

参数

  [in] | sx | X方向的缩放系数。
  [in] | sy | Y方向的缩放系数。
  [in] | bPrepended | 如果为 true，缩放矩阵在左侧相乘，否则在右侧相乘。

返回
  无。

## ◆ set() [1/2]

void com.foxit.sdk.common.fxcrt.Matrix2D.set | ( | float | a,
|  | float | b,
|  | float | c,
|  | float | d,
|  | float | e,
|  | float | f
| ) |  |

更改矩阵中的系数。

参数

  [in] | a | 输入系数a。
  [in] | b | 输入系数b。
  [in] | c | 输入系数c。
  [in] | d | 输入系数d。
  [in] | e | 输入系数e。
  [in] | f | 输入系数f。

返回
  无。

## ◆ set() [2/2]

void com.foxit.sdk.common.fxcrt.Matrix2D.set | ( | float [] | n | ) |

更改矩阵中的系数。

参数

  [in] | n | 输入的系数数组。

返回
  无。

## ◆ setA()

com.foxit.sdk.common.fxcrt.Matrix2D.setA | ( | float | value | ) |

Set 系数a。

参数

  [in] | value | 系数a。

返回
  None.

## ◆ setB()

com.foxit.sdk.common.fxcrt.Matrix2D.setB | ( | float | value | ) |

Set 系数b。

参数

  [in] | value | 系数b。

返回
  None.

## ◆ setC()

com.foxit.sdk.common.fxcrt.Matrix2D.setC | ( | float | value | ) |

Set 系数c。

参数

  [in] | value | 系数c。

返回
  None.

## ◆ setD()

com.foxit.sdk.common.fxcrt.Matrix2D.setD | ( | float | value | ) |

Set 系数d。

参数

  [in] | value | 系数d。

返回
  None.

## ◆ setE()

com.foxit.sdk.common.fxcrt.Matrix2D.setE | ( | float | value | ) |

Set 系数e。

参数

  [in] | value | 系数e。

返回
  None.

## ◆ setF()

com.foxit.sdk.common.fxcrt.Matrix2D.setF | ( | float | value | ) |

Set 系数f。

参数

  [in] | value | 系数f。

返回
  None.

## ◆ setIdentity()

void com.foxit.sdk.common.fxcrt.Matrix2D.setIdentity | ( |  | ) |

将矩阵设置为单位变换矩阵。

返回
  无。

## ◆ setReverse()

void com.foxit.sdk.common.fxcrt.Matrix2D.setReverse | ( | Matrix2D | m | ) |

将另一个矩阵的逆矩阵的系数设置到此矩阵中。

参数

  [in] | m | 输入的矩阵。

返回
  无。

## ◆ shear()

void com.foxit.sdk.common.fxcrt.Matrix2D.shear | ( | float | fAlphaRadian,
|  | float | fBetaRadian,
|  | boolean | bPrepended
| ) |  |

剪切矩阵。

参数

  [in] | fAlphaRadian | X轴的剪切角度。
  [in] | fBetaRadian | Y轴的剪切角度。
  [in] | bPrepended | 如果为 true，剪切矩阵在左侧相乘，否则在右侧相乘。

返回
  无。

## ◆ transformDistance() [1/3]

float com.foxit.sdk.common.fxcrt.Matrix2D.transformDistance | ( | float | dx,
|  | float | dy
| ) |  |

变换由X和Y值指定的距离。

参数

  [in] | dx | 输入的X值。
  [in] | dy | 输入的Y值。

返回
  变换后的距离。

## ◆ transformDistance() [2/3]

int com.foxit.sdk.common.fxcrt.Matrix2D.transformDistance | ( | int | dx,
|  | int | dy
| ) |  |

变换由X和Y值指定的距离。

参数

  [in] | dx | 输入的X值。
  [in] | dy | 输入的Y值。

返回
  变换后的距离。

## ◆ transformDistance() [3/3]

float com.foxit.sdk.common.fxcrt.Matrix2D.transformDistance | ( | float | distance | ) |

变换距离。

参数

  [in] | distance | 输入的距离。

返回
  变换后的距离。

## ◆ transformPoint() [1/2]

void com.foxit.sdk.common.fxcrt.Matrix2D.transformPoint | ( | java.lang.Float | x,
|  | java.lang.Float | y
| ) |  |

变换由X和Y值指定的点。

参数

  [in,out] | x | 点的输入X坐标，并接收输出的变换后X坐标。
  [in,out] | y | 点的输入Y坐标，并接收输出的变换后Y坐标。

返回
  无。

## ◆ transformPoint() [2/2]

void com.foxit.sdk.common.fxcrt.Matrix2D.transformPoint | ( | java.lang.Integer | x,
|  | java.lang.Integer | y
| ) |  |

变换由X和Y值指定的点。

参数

  [in,out] | x | 点的输入X坐标，并接收输出的变换后X坐标。
  [in,out] | y | 点的输入Y坐标，并接收输出的变换后Y坐标。

返回
  无。

## ◆ transformRect() [1/2]

void com.foxit.sdk.common.fxcrt.Matrix2D.transformRect | ( | RectF | rect | ) |

变换一个矩形并返回边界矩形。 结果矩形总是标准化的：left <= right，且 bottom <= top。

参数

  [in,out] | rect | 输入的矩形，并接收输出的变换并标准化后的矩形。

返回
  无。

## ◆ transformRect() [2/2]

void com.foxit.sdk.common.fxcrt.Matrix2D.transformRect | ( | RectI | rect | ) |

变换一个矩形并返回边界矩形。 结果矩形总是标准化的：left <= right，且 bottom <= top。

参数

  [in,out] | rect | 输入的矩形，并接收输出的变换并标准化后的矩形。

返回
  无。

## ◆ transformXDistance() [1/2]

float com.foxit.sdk.common.fxcrt.Matrix2D.transformXDistance | ( | float | dx | ) |

变换X距离。

参数

  [in] | dx | 输入的X距离。

返回
  变换后的距离。

## ◆ transformXDistance() [2/2]

int com.foxit.sdk.common.fxcrt.Matrix2D.transformXDistance | ( | int | dx | ) |

变换X距离。

参数

  [in] | dx | 输入的X距离。

返回
  变换后的距离。

## ◆ transformYDistance() [1/2]

float com.foxit.sdk.common.fxcrt.Matrix2D.transformYDistance | ( | float | dy | ) |

变换Y距离。

参数

  [in] | dy | 输入的Y距离。

返回
  变换后的距离。

## ◆ transformYDistance() [2/2]

int com.foxit.sdk.common.fxcrt.Matrix2D.transformYDistance | ( | int | dy | ) |

变换Y距离。

参数

  [in] | dy | 输入的Y距离。

返回
  变换后的距离。

## ◆ translate()

void com.foxit.sdk.common.fxcrt.Matrix2D.translate | ( | float | x,
|  | float | y,
|  | boolean | bPrepended
| ) |  |

平移矩阵。

参数

  [in] | x | X方向的偏移值。
  [in] | y | Y方向的偏移值。
  [in] | bPrepended | 如果为 true，平移矩阵在左侧相乘，否则在右侧相乘。

返回
  无。

## ◆ translateI()

void com.foxit.sdk.common.fxcrt.Matrix2D.translateI | ( | int | x,
|  | int | y,
|  | boolean | bPrepended
| ) |  |

平移矩阵。使用整数值。

参数

  [in] | x | X方向的偏移整数值。
  [in] | y | Y方向的偏移整数值。
  [in] | bPrepended | 如果为 true，平移矩阵在左侧相乘，否则在右侧相乘。

返回
  无。