java.lang.Object
|---ohos.agp.utils.Matrix
public class Matrix
extends Object
配置一个 3x3 矩阵,在主要列中显示以实现 Canvas 实例的平移、旋转和缩放。
此类维护一个浮点数组(长度为 9)以形成一个 3x3 矩阵。 它提供了转换数组中值的接口。
Since:
3
修饰符和类型 | 类 | 描述 |
---|---|---|
static class | Matrix.ScaleToFit | 枚举将源矩形缩放到目标矩形的模式。 |
构造函数 | 描述 |
---|---|
Matrix() | 用于创建 Matrix 实例的默认构造函数。 |
Matrix(float[] srcMatrixArray) | 用于创建 Matrix 实例的构造函数。 |
Matrix(Matrix srcMatrix) | 用于创建 Matrix 实例的构造函数。 |
修饰符和类型 | 方法 | 描述 |
---|---|---|
boolean | cheapEqualTo(Matrix matrixM) | 检查此 Matrix 和指定的矩阵是否由相同的位模式表示。 |
void | dirtyMatrixTypeCache() | 将内部缓存设置为未知状态。 |
boolean | equals(Object object) | 检查此 Matrix 对象是否等于指定的 Matrix 对象。 |
boolean | equalsMatrixValue(Matrix otherMatrix) | 获取指定对象矩阵值是否等于当前矩阵值。 |
float | get(int index) | 根据数组索引获取矩阵值。 |
float[] | getData() | 获取矩阵的浮点数组。 |
void | getElements(float[] elements) | 获取此 Matrix 的元素值。 |
float | getMaxScale() | 通过分解缩放和倾斜元素获得此矩阵的最大比例因子。 |
float | getMinScale() | 通过分解缩放和倾斜元素获得此矩阵的最小比例因子。 |
float | getPerspX() | 获取此矩阵的水平透视系数。 |
float | getPerspY() | 获取此 Matrix 的垂直透视系数。 |
float | getScaleX() | 获取此矩阵的水平比例因子。 |
float | getScaleY() | 获取此矩阵的垂直比例因子。 |
float | getSkewX() | 获取此矩阵的水平倾斜因子。 |
float | getSkewY() | 获取此矩阵的垂直偏斜因子。 |
float | getTranslateX() | 获取此矩阵的水平平移因子。 |
float | getTranslateY() | 获取此矩阵的垂直平移因子。 |
int | hashCode() | 返回对象的哈希码值。 |
boolean | hasPerspective() | 检查此矩阵是否包含透视元素。 |
int | index(int row, int col) | 根据输入的行号和列号计算数组索引。 |
boolean | invert(Matrix inverse) | 反转此矩阵。 |
boolean | isFinite() | 检查此矩阵的所有元素是否都是有限的。 |
boolean | isFixedStepInX() | 检查在 y 轴上执行矩阵变换后是否可以用常数向量表示 x 轴单位步长。 |
boolean | isIdentity() | 检查矩阵是否为单位矩阵。 |
boolean | isScaleTranslate() | 检查此矩阵是否已缩放和平移。 |
boolean | isSimilarity() | 检查此 Matrix 是否仅包含旋转、统一缩放和平移。 |
boolean | isTranslate() | 检查此矩阵是否已被翻译。 |
void | mapPoints(float[] pts) | 对点数组执行矩阵变换,并将变换结果写入该数组。 |
void | mapPoints(float[] dst, float[] src) | 对源点数组执行矩阵变换,并将变换结果写入目标数组。 |
void | mapPoints(float[] dst, int dstIndex, float[] src, int srcIndex, int pointCount) | 执行从源数组中的指定点开始的矩阵变换,并将变换结果写入目标数组。 |
float | mapRadius(float radius) | 计算被此 Matrix 映射后的圆的平均半径。 |
boolean | mapRect(RectFloat rectFloat) | 对矩形执行矩阵变换并将变换结果写入该矩形。 |
boolean | mapRect(RectFloat dst, RectFloat src) | 对源矩形执行矩阵变换并将变换结果写入目标矩形。 |
void | mapRectScaleTranslate(RectFloat dst, RectFloat src) | 对源矩形进行矩阵变换,并将变换结果存储在目标矩形中。 |
void | multiply(Matrix otherMatrix) | 计算将当前矩阵与指定矩阵相乘的结果。 |
boolean | postConcat(Matrix otherMatrix) | 将此 Matrix 后乘以指定的矩阵。 |
boolean | postIDiv(int divx, int divy) | 将此 Matrix 与指定的比例因子进行后乘。 |
void | postRotate(float degrees) | 将此 Matrix 与指定的旋转进行后乘。 |
boolean | postRotate(float degrees, float px, float py) | 将此 Matrix 与指定的旋转和透视点的指定位置进行后乘。 |
boolean | postScale(float sx, float sy) | 将此 Matrix 与指定的比例后乘。 |
boolean | postScale(float sx, float sy, float px, float py) | 将此 Matrix 与指定的比例和透视点的指定位置进行后乘。 |
boolean | postSkew(float kx, float ky) | 将此 Matrix 与指定的偏斜因子进行后乘。 |
boolean | postSkew(float kx, float ky, float px, float py) | 用指定的偏斜因子将该矩阵围绕指定的枢轴进行后乘。 |
boolean | postTranslate(float dx, float dy) | 将此 Matrix 与指定的平移进行后乘。 |
boolean | preConcat(Matrix otherMatrix) | 将此 Matrix 预乘以指定的矩阵。 |
boolean | preRotate(float degrees) | 将此 Matrix 与指定的旋转预乘。 |
boolean | preRotate(float degrees, float px, float py) | 将此 Matrix 与指定的旋转和透视点的指定位置预乘。 |
boolean | preScale(float sx, float sy) | 将此矩阵预乘以指定的比例。 |
boolean | preScale(float sx, float sy, float px, float py) | 将此 Matrix 与指定的比例和透视点的指定位置预乘。 |
boolean | preservesAxisAlignment() | 检查此 Matrix 是否可以将一个 Rect 对象映射到另一个。 |
boolean | preservesRightAngles() | 检查此矩阵是否仅包含旋转、缩放(允许非均匀缩放)和平移。 |
boolean | preSkew(float kx, float ky) | 将此 Matrix 与指定的偏斜预乘。 |
void | preSkew(float kx, float ky, float px, float py) | 将此 Matrix 与指定的倾斜和透视点的指定位置预乘。 |
boolean | preTranslate(float dx, float dy) | 将此 Matrix 与指定的翻译预乘。 |
boolean | rectStaysRect() | 检查此 Matrix 是否可以将一个矩形映射到另一个矩形。 |
void | reset() | 将此 Matrix 重置为单位矩阵,也称为单位矩阵。 |
void | rotate(float angle) | 实现矩阵按指定度数的旋转。 |
void | scale(float scaleX, float scaleY) | 实现矩阵在 X 轴和 Y 轴上的缩放。 |
boolean | setConcat(Matrix matrixA, Matrix matrixB) | 将此 Matrix 设置为矩阵 A 乘以矩阵 B。 |
void | setElements(float[] elements) | 设置此矩阵的元素值。 |
void | setIdentity() | 将当前矩阵设置为单位矩阵。 |
void | setMatrix(int row, int col, float value) | 在矩阵的指定行和列中设置一个值。 |
void | setMatrix(Matrix srcMatrix) | 将指定 srcMatrix 矩阵中的值复制到当前矩阵。 |
void | setPerspX(float v) | 设置此矩阵的水平透视系数。 |
void | setPerspY(float v) | 设置此矩阵的垂直透视系数。 |
boolean | setPolyToPoly(float[] src, int srcIndex, float[] dst, int dstIndex, int pointCount) | 设置此矩阵以使指定的源点映射到指定的目标点。 |
boolean | setRectToRect(RectFloat src, RectFloat dst, Matrix.ScaleToFit scaleToFit) | 根据指定的缩放模式将源矩形设置在目标矩形内。 |
void | setRotate(float degrees) | 将矩阵设置为围绕枢轴点 (0,0) 旋转指定的度数。 |
void | setRotate(float degrees, float px, float py) | 将矩阵设置为围绕枢轴点 (px,py) 旋转指定的度数。 |
void | setScale(float sx, float sy) | 按指定值缩放此矩阵。 |
void | setScale(float sx, float sy, float px, float py) | 按指定值和透视点的指定位置缩放此矩阵。 |
void | setScaleTranslate(float sx, float sy, float tx, float ty) | 初始化此矩阵的比例和平移因子。 |
void | setScaleX(float v) | 设置此矩阵的水平比例因子。 |
void | setScaleY(float v) | 设置此矩阵的垂直比例因子。 |
void | setSinCos(float sinValue, float cosValue) | 设置此矩阵以旋转矢量的指定水平和垂直分量围绕透视点 (0,0) 旋转。 |
void | setSinCos(float sinValue, float cosValue, float px, float py) | 将此 Matrix 设置为通过旋转向量的给定水平和垂直分量围绕指定坐标处的透视点旋转。 |
void | setSkew(float kx, float ky) | 按指定的倾斜因子倾斜此矩阵。 |
void | setSkew(float kx, float ky, float px, float py) | 通过指定的倾斜因子围绕指定的枢轴倾斜此矩阵。 |
void | setSkewX(float v) | 设置此矩阵的水平倾斜因子。 |
void | setSkewY(float v) | 设置此矩阵的垂直偏斜系数。 |
void | setTranslate(float dx, float dy) | 用指定的值转换这个矩阵。 |
void | setTranslateX(float v) | 设置此矩阵的水平平移因子。 |
void | setTranslateY(float v) | 设置此矩阵的垂直平移因子。 |
String | toString() | 获取此 Matrix 对象的字符串表示形式。 |
void | translate(float transX, float transY) | 根据X轴和Y轴的平移度实现矩阵的平移。 |
void | transpose() | 实现矩阵的转置。 |
从类 java.lang.Object 继承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
public Matrix()
用于创建 Matrix 实例的默认构造函数。
Since:
3
public Matrix(float[] srcMatrixArray)
用于创建 Matrix 实例的构造函数。
此构造函数创建一个 3x3 矩阵,并复制指定的数组以初始化矩阵。
参数:
参数名称 | 参数描述 |
---|---|
srcMatrixArray | 表示矩阵的浮点数组。 数组长度为 9。 |
public Matrix(Matrix srcMatrix)
用于创建 Matrix 实例的构造函数。
参数:
参数名称 | 参数描述 |
---|---|
srcMatrix | 指示要从中复制值的矩阵。 |
Since:
3
public float[] getData()
获取矩阵的浮点数组。
返回:
返回矩阵的浮点数组。 数组长度为 9。
public int index(int row, int col)
根据输入的行号和列号计算数组索引。
参数:
参数名称 | 参数描述 |
---|---|
col | - 表示行索引。 |
row | - 表示列索引。 |
返回:
返回数组索引。
public void setMatrix(int row, int col, float value)
在矩阵的指定行和列中设置一个值。
参数:
参数名称 | 参数描述 |
---|---|
col | 指示要在其中设置值的列。 |
row | 指示要在其中设置值的行。 |
value | 表示要设置的值。 |
public void setMatrix(Matrix srcMatrix)
将指定 srcMatrix 矩阵中的值复制到当前矩阵。
参数:
参数名称 | 参数描述 |
---|---|
srcMatrix | 指示要从中复制值的矩阵。 |
public void setIdentity()
将当前矩阵设置为单位矩阵。
Since:
3
public void reset()
将此 Matrix 重置为单位矩阵,也称为单位矩阵。
Since:
3
public boolean isIdentity()
检查矩阵是否为单位矩阵。
返回:
如果矩阵是单位矩阵,则返回 true; 否则返回 false。
public boolean equalsMatrixValue(Matrix otherMatrix)
获取指定对象矩阵值是否等于当前矩阵值。
参数:
参数名称 | 参数描述 |
---|---|
otherMatrix | 表示指定的矩阵。 |
返回:
如果指定对象的矩阵值等于当前矩阵,则返回 true,否则返回 false。
Since:
3
public void multiply(Matrix otherMatrix)
计算将当前矩阵与指定矩阵相乘的结果。
指定的矩阵放置在乘号的右侧。
参数:
参数名称 | 参数描述 |
---|---|
otherMatrix | 指示要与之相乘的指定矩阵。 |
public void rotate(float angle)
实现矩阵按指定度数的旋转。
如果角度为正值,则矩阵顺时针旋转,如果为负值,则逆时针旋转。
参数:
参数名称 | 参数描述 |
---|---|
angle | 表示矩阵的旋转度数。 |
public void scale(float scaleX, float scaleY)
实现矩阵在 X 轴和 Y 轴上的缩放。
参数:
参数名称 | 参数描述 |
---|---|
scaleX | 表示 X 轴的缩放比例。 |
scaleY | 表示 Y 轴的缩放比例。 |
public void translate(float transX, float transY)
根据X轴和Y轴的平移度实现矩阵的平移。
参数:
参数名称 | 参数描述 |
---|---|
transX | 表示 X 轴平移度数。 |
transY | 表示 Y 轴平移度数。 |
public void transpose()
实现矩阵的转置。
public void setRotate(float degrees)
将矩阵设置为围绕枢轴点 (0,0) 旋转指定的度数。
参数:
参数名称 | 参数描述 |
---|---|
degrees | 指示要旋转的度数。 |
Since:
3
public void setRotate(float degrees, float px, float py)
将矩阵设置为围绕枢轴点 (px,py) 旋转指定的度数。
参数:
参数名称 | 参数描述 |
---|---|
degrees | 指示要旋转的度数。 |
px | 表示枢轴点的 X 坐标。 |
py | 表示枢轴点的 Y 坐标。 |
Since:
3
public void getElements(float[] elements)
获取此 Matrix 的元素值。
参数:
参数名称 | 参数描述 |
---|---|
elements | 表示一个数组,用于存储获取的元素值。 |
Since:
3
public void setElements(float[] elements)
设置此矩阵的元素值。
参数:
参数名称 | 参数描述 |
---|---|
elements | 指示要为此矩阵设置的元素值数组。 |
Since:
3
public boolean invert(Matrix inverse)
反转此矩阵。
参数:
参数名称 | 参数描述 |
---|---|
inverse | 指示要保存此 Matrix 的逆矩阵的矩阵。 |
返回:
如果此 Matrix 反转,则返回 true; 否则返回 false。
Since:
3
public void mapPoints(float[] pts)
对点数组执行矩阵变换,并将变换结果写入该数组。
参数:
参数名称 | 参数描述 |
---|---|
pts | 指示要变换的点数组。 |
Since:
3
public void mapPoints(float[] dst, float[] src)
对源点数组执行矩阵变换,并将变换结果写入目标数组。
参数:
参数名称 | 参数描述 |
---|---|
dst | 表示存储变换点的目标数组。 |
src | 指示要变换的点的源数组。 |
Since:
3
public void mapPoints(float[] dst, int dstIndex, float[] src, int srcIndex, int pointCount)
执行从源数组中的指定点开始的矩阵变换,并将变换结果写入目标数组。
参数:
参数名称 | 参数描述 |
---|---|
dst | 表示存储变换点的目标数组。 |
dstIndex | 指示目标数组中第一个变换点的索引。 |
src | 指示要变换的点的源数组。 |
srcIndex | 指示源数组中要转换的第一个点的索引。 |
pointCount | 表示要变换的点数。 |
Since:
3
public boolean postConcat(Matrix otherMatrix)
将此 Matrix 后乘以指定的矩阵。
参数:
参数名称 | 参数描述 |
---|---|
otherMatrix | 表示后乘的指定矩阵。 |
返回:
如果操作成功,则返回 true; 否则返回 false。
Since:
3
public boolean postScale(float sx, float sy)
将此 Matrix 与指定的比例后乘。
参数:
参数名称 | 参数描述 |
---|---|
sx | 表示水平刻度。 |
sy | 表示垂直刻度。 |
返回:
如果操作成功,则返回 true; 否则返回 false。
Since:
3
public boolean postScale(float sx, float sy, float px, float py)
将此 Matrix 与指定的比例和透视点的指定位置进行后乘。
参数:
参数名称 | 参数描述 |
---|---|
sx | 表示水平刻度。 |
sy | 表示垂直刻度。 |
px | 表示缩放中心点的X坐标。 |
py | 表示缩放中心点的 Y 坐标。 |
返回:
如果操作成功,则返回 true; 否则返回 false。
Since:
3
public boolean postTranslate(float dx, float dy)
将此 Matrix 与指定的平移进行后乘。
参数:
参数名称 | 参数描述 |
---|---|
dx | 指示要平移的水平长度。 |
dy | 指示要平移的垂直长度。 |
返回:
如果操作成功,则返回 true; 否则返回 false。
Since:
3
public boolean preConcat(Matrix otherMatrix)
将此 Matrix 预乘以指定的矩阵。
参数:
参数名称 | 参数描述 |
---|---|
otherMatrix | 表示用于预乘的指定矩阵。 |
返回:
如果操作成功,则返回 true; 否则返回 false。
Since:
3
public boolean preRotate(float degrees)
将此 Matrix 与指定的旋转预乘。
参数:
参数名称 | 参数描述 |
---|---|
degrees | 指示要旋转的度数。 |
返回:
如果操作成功,则返回 true; 否则返回 false。
Since:
3
public boolean preRotate(float degrees, float px, float py)
将此 Matrix 与指定的旋转和透视点的指定位置预乘。
参数:
参数名称 | 参数描述 |
---|---|
degrees | 指示要旋转的度数。 |
px | 表示旋转中心点的 X 坐标。 |
py | 表示旋转中心点的 Y 坐标。 |
返回:
如果操作成功,则返回 true; 否则返回 false。
Since:
3
public void setScale(float sx, float sy)
按指定值缩放此矩阵。
参数:
参数名称 | 参数描述 |
---|---|
sx | 表示水平刻度。 |
sy | 表示垂直刻度。 |
Since:
3
public void setScale(float sx, float sy, float px, float py)
按指定值和透视点的指定位置缩放此矩阵。
参数:
参数名称 | 参数描述 |
---|---|
sx | 表示水平刻度。 |
sy | 表示垂直刻度。 |
px | 表示缩放中心点的X坐标。 |
py | 表示缩放中心点的 Y 坐标。 |
Since:
3
public boolean preTranslate(float dx, float dy)
将此 Matrix 与指定的翻译预乘。
参数:
参数名称 | 参数描述 |
---|---|
dx | 指示要平移的水平长度。 |
dy | 指示要平移的垂直长度。 |
返回:
如果操作成功,则返回 true; 否则返回 false。
Since:
3
public void setTranslate(float dx, float dy)
用指定的值转换这个矩阵。
参数:
参数名称 | 参数描述 |
---|---|
dx | 指示要平移的水平长度。 |
dy | 指示要平移的垂直长度。 |
Since:
3
public boolean preScale(float sx, float sy)
将此矩阵预乘以指定的比例。
参数:
参数名称 | 参数描述 |
---|---|
sx | 表示水平刻度。 |
sy | 表示垂直刻度。 |
返回:
如果操作成功,则返回 true; 否则返回 false。
Since:
3
public boolean preScale(float sx, float sy, float px, float py)
将此 Matrix 与指定的比例和透视点的指定位置预乘。
参数:
参数名称 | 参数描述 |
---|---|
sx | 表示水平刻度。 |
sy | 表示垂直刻度。 |
px | 表示缩放中心点的X坐标。 |
py | 表示缩放中心点的 Y 坐标。 |
返回:
如果操作成功,则返回 true; 否则返回 false。
Since:
3
public boolean preSkew(float kx, float ky)
将此 Matrix 与指定的偏斜预乘。
参数:
参数名称 | 参数描述 |
---|---|
kx | 表示水平倾斜。 |
ky | 表示垂直倾斜。 |
返回:
如果操作成功,则返回 true; 否则返回 false。
Since:
3
public float mapRadius(float radius)
计算被此 Matrix 映射后的圆的平均半径。
参数:
参数名称 | 参数描述 |
---|---|
radius | 表示映射后圆的半径。 |
返回:
返回映射后圆的平均半径。
Since:
3
public boolean postRotate(float degrees, float px, float py)
将此 Matrix 与指定的旋转和透视点的指定位置进行后乘。
参数:
参数名称 | 参数描述 |
---|---|
degrees | 指示要旋转的度数。 |
px | 表示旋转中心点的 X 坐标。 |
py | 表示旋转中心点的 Y 坐标。 |
返回:
如果操作成功,则返回 true; 否则返回 false。
Since:
3
public boolean mapRect(RectFloat rectFloat)
对矩形执行矩阵变换并将变换结果写入该矩形。
参数:
参数名称 | 参数描述 |
---|---|
rectFloat | 指示要变换的矩形。 |
返回:
如果操作成功,则返回 true; 否则返回 false。
Since:
3
public boolean mapRect(RectFloat dst, RectFloat src)
对源矩形执行矩阵变换并将变换结果写入目标矩形。
参数:
参数名称 | 参数描述 |
---|---|
dst | 表示存储变换结果的目标矩形。 |
src | 指示要变换的源矩形。 |
返回:
如果操作成功,则返回 true; 否则返回 false。
Since:
3
public boolean setRectToRect(RectFloat src, RectFloat dst, Matrix.ScaleToFit scaleToFit)
根据指定的缩放模式将源矩形设置在目标矩形内。
参数:
参数名称 | 参数描述 |
---|---|
src | 指示源矩形。 |
dst | 指示目标矩形 |
scaleToFit | 指示缩放模式,如 ScaleToFit 中所列举的。 |
返回:
如果操作成功,则返回 true; 否则返回 false。
Since:
3
public void setSkew(float kx, float ky)
按指定的倾斜因子倾斜此矩阵。
参数:
参数名称 | 参数描述 |
---|---|
kx | 表示水平倾斜因子。 |
ky | 指示垂直偏斜系数。 |
Since:
4
public void setSkew(float kx, float ky, float px, float py)
通过指定的倾斜因子围绕指定的枢轴倾斜此矩阵。
参数:
参数名称 | 参数描述 |
---|---|
kx | 表示水平倾斜因子。 |
ky | 指示垂直偏斜系数。 |
px | 指示倾斜枢轴的 x 坐标。 |
py | 指示倾斜枢轴的 y 坐标。 |
Since:
4
public boolean setConcat(Matrix matrixA, Matrix matrixB)
将此 Matrix 设置为矩阵 A 乘以矩阵 B。
参数:
参数名称 | 参数描述 |
---|---|
matrixA | 表示矩阵 A。 |
matrixB | 表示矩阵 B。 |
返回:
如果操作成功,则返回 true; 否则返回 false。
Since:
4
public boolean postSkew(float kx, float ky)
将此 Matrix 与指定的偏斜因子进行后乘。
参数:
参数名称 | 参数描述 |
---|---|
kx | 表示水平倾斜因子。 |
ky | 指示垂直偏斜系数。 |
返回:
如果操作成功,则返回 true; 否则返回 false。
Since:
4
public boolean postSkew(float kx, float ky, float px, float py)
用指定的偏斜因子将该矩阵围绕指定的枢轴进行后乘。
参数:
参数名称 | 参数描述 |
---|---|
kx | 表示水平倾斜因子。 |
ky | 指示垂直偏斜系数。 |
px | 指示倾斜枢轴的 x 坐标。 |
py | 指示倾斜枢轴的 y 坐标。 |
返回:
如果操作成功,则返回 true; 否则返回 false。
Since:
4
public boolean setPolyToPoly(float[] src, int srcIndex, float[] dst, int dstIndex, int pointCount)
设置此矩阵以使指定的源点映射到指定的目标点。
参数:
参数名称 | 参数描述 |
---|---|
src | 表示源点数组。 |
srcIndex | 指示要在源点数组中使用的第一对点的索引。 |
dst | 指示目标点数组。 |
dstIndex | 指示要在目标点数组中使用的第一对点的索引。 |
pointCount | 表示点数。 |
返回:
如果操作成功,则返回 true; 否则返回 false。
Since:
4
public boolean rectStaysRect()
检查此 Matrix 是否可以将一个矩形映射到另一个矩形。 此方法等效于 preservesAxisAlignment()。
返回:
如果此 Matrix 可以将一个矩形映射到另一个矩形,则返回 true; 否则返回 false。
Since:
4
public boolean isScaleTranslate()
检查此矩阵是否已缩放和平移。
返回:
如果已执行缩放和平移,则返回 true; 否则返回 false。
Since:
4
public boolean isTranslate()
检查此矩阵是否已被翻译。
返回:
如果已执行翻译,则返回 true; 否则返回 false。
Since:
4
public boolean preservesAxisAlignment()
检查此 Matrix 是否可以将一个 Rect 对象映射到另一个。 此方法等效于 rectStaysRect()。
返回:
如果此 Matrix 可以将一个 Rect 对象映射到另一个,则返回 true; 否则返回 false。
Since:
4
public boolean hasPerspective()
检查此矩阵是否包含透视元素。
返回:
如果包含透视元素,则返回 true; 否则返回 false。
Since:
4
public boolean isSimilarity()
检查此 Matrix 是否仅包含旋转、统一缩放和平移。
返回:
如果只包含旋转、统一缩放和平移,则返回 true; 否则返回 false。
Since:
4
public boolean preservesRightAngles()
检查此矩阵是否仅包含旋转、缩放(允许非均匀缩放)和平移。
返回:
如果仅包含旋转、缩放(允许非均匀缩放)和平移,则返回 true; 否则返回 false。
Since:
4
public float get(int index)
根据数组索引获取矩阵值。
参数:
参数名称 | 参数描述 |
---|---|
index | 表示数组索引,取值范围为 0 到 8。 |
返回:
返回矩阵值。
Since:
4
public float getScaleX()
获取此矩阵的水平比例因子。
返回:
返回水平比例因子。
Since:
4
public float getScaleY()
获取此矩阵的垂直比例因子。
返回:
返回垂直比例因子。
Since:
4
public float getSkewY()
获取此矩阵的垂直偏斜因子。
返回:
返回垂直偏斜因子。
Since:
4
public float getSkewX()
获取此矩阵的水平倾斜因子。
返回:
返回水平倾斜因子。
Since:
4
public float getTranslateX()
获取此矩阵的水平平移因子。
返回:
返回水平平移因子。
Since:
4
public float getTranslateY()
获取此矩阵的垂直平移因子。
返回:
返回垂直平移因子。
Since:
4
public float getPerspX()
获取此矩阵的水平透视系数。
返回:
返回水平透视系数。
Since:
4
public float getPerspY()
获取此 Matrix 的垂直透视系数。
返回:
返回垂直透视因子。
Since:
4
public void setScaleX(float v)
设置此矩阵的水平比例因子。
参数:
参数名称 | 参数描述 |
---|---|
v | 指示要设置的水平比例因子。 |
Since:
4
public void setScaleY(float v)
设置此矩阵的垂直比例因子。
参数:
参数名称 | 参数描述 |
---|---|
v | 指示要设置的垂直比例因子。 |
Since:
4
public void setSkewX(float v)
设置此矩阵的水平倾斜因子。
参数:
参数名称 | 参数描述 |
---|---|
v | 指示要设置的水平倾斜因子。 |
Since:
4
public void setSkewY(float v)
设置此矩阵的垂直偏斜系数。
参数:
参数名称 | 参数描述 |
---|---|
v | 指示要设置的垂直偏斜系数。 |
Since:
4
public void setTranslateX(float v)
设置此矩阵的水平平移因子。
参数:
参数名称 | 参数描述 |
---|---|
v | 指示要设置的水平平移因子。 |
Since:
4
public void setTranslateY(float v)
设置此矩阵的垂直平移因子。
参数:
参数名称 | 参数描述 |
---|---|
v | 指示要设置的垂直平移因子。 |
Since:
4
public void setPerspX(float v)
设置此矩阵的水平透视系数。
参数:
参数名称 | 参数描述 |
---|---|
v | 指示要设置的水平透视系数。 |
Since:
4
public void setPerspY(float v)
设置此矩阵的垂直透视系数。
参数:
参数名称 | 参数描述 |
---|---|
v | 指示要设置的垂直透视系数。 |
Since:
4
public void setSinCos(float sinValue, float cosValue, float px, float py)
将此 Matrix 设置为通过旋转向量的给定水平和垂直分量围绕指定坐标处的透视点旋转。
参数:
参数名称 | 参数描述 |
---|---|
sinValue | 表示旋转向量的水平分量。 |
cosValue | 表示旋转向量的垂直分量。 |
px | 表示透视点的x坐标。 |
py | 表示透视点的y坐标。 |
Since:
4
public void setSinCos(float sinValue, float cosValue)
设置此矩阵以旋转矢量的指定水平和垂直分量围绕透视点 (0,0) 旋转。
参数:
参数名称 | 参数描述 |
---|---|
sinValue | 表示旋转向量的水平分量。 |
cosValue | 表示旋转向量的垂直分量。 |
Since:
4
public void preSkew(float kx, float ky, float px, float py)
将此 Matrix 与指定的倾斜和透视点的指定位置预乘。
参数:
参数名称 | 参数描述 |
---|---|
kx | 表示水平倾斜因子。 |
ky | 指示垂直偏斜系数。 |
px | 指示倾斜枢轴的 x 坐标。 |
py | 指示倾斜枢轴的 y 坐标。 |
Since:
4
public boolean postIDiv(int divx, int divy)
将此 Matrix 与指定的比例因子进行后乘。
参数:
参数名称 | 参数描述 |
---|---|
divx | 表示水平比例因子的倒数。 |
divy | 表示垂直比例因子的倒数。 |
返回:
如果操作成功,则返回 true; 如果 divx 或 divy 为 0,则返回 false。
Since:
4
public void postRotate(float degrees)
将此 Matrix 与指定的旋转进行后乘。
参数:
参数名称 | 参数描述 |
---|---|
degrees | 指示要旋转的度数。 |
Since:
4
public void mapRectScaleTranslate(RectFloat dst, RectFloat src)
对源矩形进行矩阵变换,并将变换结果存储在目标矩形中。
参数:
参数名称 | 参数描述 |
---|---|
dst | 表示存储变换结果的目标矩形。 |
src | 指示要变换的源矩形。 |
Since:
4
public boolean isFixedStepInX()
检查在 y 轴上执行矩阵变换后是否可以用常数向量表示 x 轴单位步长。
返回:
如果 x-aix 单位步长可以用一个常数向量表示,则返回 true,即这个 Matrix 没有复透视; 否则返回 false。
Since:
4
public boolean cheapEqualTo(Matrix matrixM)
检查此 Matrix 和指定的矩阵是否由相同的位模式表示。
参数:
参数名称 | 参数描述 |
---|---|
matrixM | 指示要比较的指定矩阵。 |
返回:
如果此 Matrix 和指定的矩阵具有相同的位模式,则返回 true; 否则返回 false。
Since:
4
public float getMinScale()
通过分解缩放和倾斜元素获得此矩阵的最小比例因子。
返回:
返回最小比例因子。
Since:
4
public float getMaxScale()
通过分解缩放和倾斜元素获得此矩阵的最大比例因子。
返回:
返回最大比例因子。
Since:
4
public void dirtyMatrixTypeCache()
将内部缓存设置为未知状态。
Since:
4
public void setScaleTranslate(float sx, float sy, float tx, float ty)
初始化此矩阵的比例和平移因子。
参数:
参数名称 | 参数描述 |
---|---|
sx | 指示要初始化的水平比例因子。 |
sy | 指示要初始化的垂直比例因子。 |
tx | 指示要初始化的水平平移因子。 |
ty | 指示要初始化的垂直平移因子。 |
Since:
4
public boolean isFinite()
检查此矩阵的所有元素是否都是有限的。
返回:
如果所有元素都是有限的,则返回 true; 否则返回 false。
Since:
4
public boolean equals(Object object)
检查此 Matrix 对象是否等于指定的 Matrix 对象。
覆盖:
类 Object 中的等于
参数:
参数名称 | 参数描述 |
---|---|
object | 指示要比较的 Matrix 对象。 |
返回:
如果两个对象相等则返回真; 否则返回 false。
Since:
5
public int hashCode()
从类复制的描述:对象
返回对象的哈希码值。 支持这种方法是为了有利于哈希表,例如 HashMap 提供的那些。
hashCode 的一般合约是:
在合理可行的情况下,由 Object 类定义的 hashCode 方法确实为不同的对象返回不同的整数。 (这通常通过将对象的内部地址转换为整数来实现,但 Java™ 编程语言不需要这种实现技术。)
覆盖:
类 Object 中的 hashCode
返回:
此对象的哈希码值。
public String toString()
获取此 Matrix 对象的字符串表示形式。
覆盖:
类 Object 中的 toString
返回:
返回一个字符串表示。
Since:
5
备案信息: 粤ICP备15087711号-2
Copyright © 2008-2024 啊嘎哇在线工具箱 All Rights.
本站所有资料来源于网络,版权归原作者所有,仅作学习交流使用,如不慎侵犯了您的权利,请联系我们。