W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
java.lang.Object
|---ohos.agp.utils.Matrix
public class Matrix
extends Object
配置一個(gè) 3x3 矩陣,在主要列中顯示以實(shí)現(xiàn) Canvas 實(shí)例的平移、旋轉(zhuǎn)和縮放。
此類維護(hù)一個(gè)浮點(diǎn)數(shù)組(長(zhǎng)度為 9)以形成一個(gè) 3x3 矩陣。 它提供了轉(zhuǎn)換數(shù)組中值的接口。
Since:
3
修飾符和類型 | 類 | 描述 |
---|---|---|
static class | Matrix.ScaleToFit | 枚舉將源矩形縮放到目標(biāo)矩形的模式。 |
構(gòu)造函數(shù) | 描述 |
---|---|
Matrix() | 用于創(chuàng)建 Matrix 實(shí)例的默認(rèn)構(gòu)造函數(shù)。 |
Matrix(float[] srcMatrixArray) | 用于創(chuàng)建 Matrix 實(shí)例的構(gòu)造函數(shù)。 |
Matrix(Matrix srcMatrix) | 用于創(chuàng)建 Matrix 實(shí)例的構(gòu)造函數(shù)。 |
修飾符和類型 | 方法 | 描述 |
---|---|---|
boolean | cheapEqualTo(Matrix matrixM) | 檢查此 Matrix 和指定的矩陣是否由相同的位模式表示。 |
void | dirtyMatrixTypeCache() | 將內(nèi)部緩存設(shè)置為未知狀態(tài)。 |
boolean | equals(Object object) | 檢查此 Matrix 對(duì)象是否等于指定的 Matrix 對(duì)象。 |
boolean | equalsMatrixValue(Matrix otherMatrix) | 獲取指定對(duì)象矩陣值是否等于當(dāng)前矩陣值。 |
float | get(int index) | 根據(jù)數(shù)組索引獲取矩陣值。 |
float[] | getData() | 獲取矩陣的浮點(diǎn)數(shù)組。 |
void | getElements(float[] elements) | 獲取此 Matrix 的元素值。 |
float | getMaxScale() | 通過分解縮放和傾斜元素獲得此矩陣的最大比例因子。 |
float | getMinScale() | 通過分解縮放和傾斜元素獲得此矩陣的最小比例因子。 |
float | getPerspX() | 獲取此矩陣的水平透視系數(shù)。 |
float | getPerspY() | 獲取此 Matrix 的垂直透視系數(shù)。 |
float | getScaleX() | 獲取此矩陣的水平比例因子。 |
float | getScaleY() | 獲取此矩陣的垂直比例因子。 |
float | getSkewX() | 獲取此矩陣的水平傾斜因子。 |
float | getSkewY() | 獲取此矩陣的垂直偏斜因子。 |
float | getTranslateX() | 獲取此矩陣的水平平移因子。 |
float | getTranslateY() | 獲取此矩陣的垂直平移因子。 |
int | hashCode() | 返回對(duì)象的哈希碼值。 |
boolean | hasPerspective() | 檢查此矩陣是否包含透視元素。 |
int | index(int row, int col) | 根據(jù)輸入的行號(hào)和列號(hào)計(jì)算數(shù)組索引。 |
boolean | invert(Matrix inverse) | 反轉(zhuǎn)此矩陣。 |
boolean | isFinite() | 檢查此矩陣的所有元素是否都是有限的。 |
boolean | isFixedStepInX() | 檢查在 y 軸上執(zhí)行矩陣變換后是否可以用常數(shù)向量表示 x 軸單位步長(zhǎng)。 |
boolean | isIdentity() | 檢查矩陣是否為單位矩陣。 |
boolean | isScaleTranslate() | 檢查此矩陣是否已縮放和平移。 |
boolean | isSimilarity() | 檢查此 Matrix 是否僅包含旋轉(zhuǎn)、統(tǒng)一縮放和平移。 |
boolean | isTranslate() | 檢查此矩陣是否已被翻譯。 |
void | mapPoints(float[] pts) | 對(duì)點(diǎn)數(shù)組執(zhí)行矩陣變換,并將變換結(jié)果寫入該數(shù)組。 |
void | mapPoints(float[] dst, float[] src) | 對(duì)源點(diǎn)數(shù)組執(zhí)行矩陣變換,并將變換結(jié)果寫入目標(biāo)數(shù)組。 |
void | mapPoints(float[] dst, int dstIndex, float[] src, int srcIndex, int pointCount) | 執(zhí)行從源數(shù)組中的指定點(diǎn)開始的矩陣變換,并將變換結(jié)果寫入目標(biāo)數(shù)組。 |
float | mapRadius(float radius) | 計(jì)算被此 Matrix 映射后的圓的平均半徑。 |
boolean | mapRect(RectFloat rectFloat) | 對(duì)矩形執(zhí)行矩陣變換并將變換結(jié)果寫入該矩形。 |
boolean | mapRect(RectFloat dst, RectFloat src) | 對(duì)源矩形執(zhí)行矩陣變換并將變換結(jié)果寫入目標(biāo)矩形。 |
void | mapRectScaleTranslate(RectFloat dst, RectFloat src) | 對(duì)源矩形進(jìn)行矩陣變換,并將變換結(jié)果存儲(chǔ)在目標(biāo)矩形中。 |
void | multiply(Matrix otherMatrix) | 計(jì)算將當(dāng)前矩陣與指定矩陣相乘的結(jié)果。 |
boolean | postConcat(Matrix otherMatrix) | 將此 Matrix 后乘以指定的矩陣。 |
boolean | postIDiv(int divx, int divy) | 將此 Matrix 與指定的比例因子進(jìn)行后乘。 |
void | postRotate(float degrees) | 將此 Matrix 與指定的旋轉(zhuǎn)進(jìn)行后乘。 |
boolean | postRotate(float degrees, float px, float py) | 將此 Matrix 與指定的旋轉(zhuǎn)和透視點(diǎn)的指定位置進(jìn)行后乘。 |
boolean | postScale(float sx, float sy) | 將此 Matrix 與指定的比例后乘。 |
boolean | postScale(float sx, float sy, float px, float py) | 將此 Matrix 與指定的比例和透視點(diǎn)的指定位置進(jìn)行后乘。 |
boolean | postSkew(float kx, float ky) | 將此 Matrix 與指定的偏斜因子進(jìn)行后乘。 |
boolean | postSkew(float kx, float ky, float px, float py) | 用指定的偏斜因子將該矩陣圍繞指定的樞軸進(jìn)行后乘。 |
boolean | postTranslate(float dx, float dy) | 將此 Matrix 與指定的平移進(jìn)行后乘。 |
boolean | preConcat(Matrix otherMatrix) | 將此 Matrix 預(yù)乘以指定的矩陣。 |
boolean | preRotate(float degrees) | 將此 Matrix 與指定的旋轉(zhuǎn)預(yù)乘。 |
boolean | preRotate(float degrees, float px, float py) | 將此 Matrix 與指定的旋轉(zhuǎn)和透視點(diǎn)的指定位置預(yù)乘。 |
boolean | preScale(float sx, float sy) | 將此矩陣預(yù)乘以指定的比例。 |
boolean | preScale(float sx, float sy, float px, float py) | 將此 Matrix 與指定的比例和透視點(diǎn)的指定位置預(yù)乘。 |
boolean | preservesAxisAlignment() | 檢查此 Matrix 是否可以將一個(gè) Rect 對(duì)象映射到另一個(gè)。 |
boolean | preservesRightAngles() | 檢查此矩陣是否僅包含旋轉(zhuǎn)、縮放(允許非均勻縮放)和平移。 |
boolean | preSkew(float kx, float ky) | 將此 Matrix 與指定的偏斜預(yù)乘。 |
void | preSkew(float kx, float ky, float px, float py) | 將此 Matrix 與指定的傾斜和透視點(diǎn)的指定位置預(yù)乘。 |
boolean | preTranslate(float dx, float dy) | 將此 Matrix 與指定的翻譯預(yù)乘。 |
boolean | rectStaysRect() | 檢查此 Matrix 是否可以將一個(gè)矩形映射到另一個(gè)矩形。 |
void | reset() | 將此 Matrix 重置為單位矩陣,也稱為單位矩陣。 |
void | rotate(float angle) | 實(shí)現(xiàn)矩陣按指定度數(shù)的旋轉(zhuǎn)。 |
void | scale(float scaleX, float scaleY) | 實(shí)現(xiàn)矩陣在 X 軸和 Y 軸上的縮放。 |
boolean | setConcat(Matrix matrixA, Matrix matrixB) | 將此 Matrix 設(shè)置為矩陣 A 乘以矩陣 B。 |
void | setElements(float[] elements) | 設(shè)置此矩陣的元素值。 |
void | setIdentity() | 將當(dāng)前矩陣設(shè)置為單位矩陣。 |
void | setMatrix(int row, int col, float value) | 在矩陣的指定行和列中設(shè)置一個(gè)值。 |
void | setMatrix(Matrix srcMatrix) | 將指定 srcMatrix 矩陣中的值復(fù)制到當(dāng)前矩陣。 |
void | setPerspX(float v) | 設(shè)置此矩陣的水平透視系數(shù)。 |
void | setPerspY(float v) | 設(shè)置此矩陣的垂直透視系數(shù)。 |
boolean | setPolyToPoly(float[] src, int srcIndex, float[] dst, int dstIndex, int pointCount) | 設(shè)置此矩陣以使指定的源點(diǎn)映射到指定的目標(biāo)點(diǎn)。 |
boolean | setRectToRect(RectFloat src, RectFloat dst, Matrix.ScaleToFit scaleToFit) | 根據(jù)指定的縮放模式將源矩形設(shè)置在目標(biāo)矩形內(nèi)。 |
void | setRotate(float degrees) | 將矩陣設(shè)置為圍繞樞軸點(diǎn) (0,0) 旋轉(zhuǎn)指定的度數(shù)。 |
void | setRotate(float degrees, float px, float py) | 將矩陣設(shè)置為圍繞樞軸點(diǎn) (px,py) 旋轉(zhuǎn)指定的度數(shù)。 |
void | setScale(float sx, float sy) | 按指定值縮放此矩陣。 |
void | setScale(float sx, float sy, float px, float py) | 按指定值和透視點(diǎn)的指定位置縮放此矩陣。 |
void | setScaleTranslate(float sx, float sy, float tx, float ty) | 初始化此矩陣的比例和平移因子。 |
void | setScaleX(float v) | 設(shè)置此矩陣的水平比例因子。 |
void | setScaleY(float v) | 設(shè)置此矩陣的垂直比例因子。 |
void | setSinCos(float sinValue, float cosValue) | 設(shè)置此矩陣以旋轉(zhuǎn)矢量的指定水平和垂直分量圍繞透視點(diǎn) (0,0) 旋轉(zhuǎn)。 |
void | setSinCos(float sinValue, float cosValue, float px, float py) | 將此 Matrix 設(shè)置為通過旋轉(zhuǎn)向量的給定水平和垂直分量圍繞指定坐標(biāo)處的透視點(diǎn)旋轉(zhuǎn)。 |
void | setSkew(float kx, float ky) | 按指定的傾斜因子傾斜此矩陣。 |
void | setSkew(float kx, float ky, float px, float py) | 通過指定的傾斜因子圍繞指定的樞軸傾斜此矩陣。 |
void | setSkewX(float v) | 設(shè)置此矩陣的水平傾斜因子。 |
void | setSkewY(float v) | 設(shè)置此矩陣的垂直偏斜系數(shù)。 |
void | setTranslate(float dx, float dy) | 用指定的值轉(zhuǎn)換這個(gè)矩陣。 |
void | setTranslateX(float v) | 設(shè)置此矩陣的水平平移因子。 |
void | setTranslateY(float v) | 設(shè)置此矩陣的垂直平移因子。 |
String | toString() | 獲取此 Matrix 對(duì)象的字符串表示形式。 |
void | translate(float transX, float transY) | 根據(jù)X軸和Y軸的平移度實(shí)現(xiàn)矩陣的平移。 |
void | transpose() | 實(shí)現(xiàn)矩陣的轉(zhuǎn)置。 |
從類 java.lang.Object 繼承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
public Matrix()
用于創(chuàng)建 Matrix 實(shí)例的默認(rèn)構(gòu)造函數(shù)。
Since:
3
public Matrix(float[] srcMatrixArray)
用于創(chuàng)建 Matrix 實(shí)例的構(gòu)造函數(shù)。
此構(gòu)造函數(shù)創(chuàng)建一個(gè) 3x3 矩陣,并復(fù)制指定的數(shù)組以初始化矩陣。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
srcMatrixArray | 表示矩陣的浮點(diǎn)數(shù)組。 數(shù)組長(zhǎng)度為 9。 |
public Matrix(Matrix srcMatrix)
用于創(chuàng)建 Matrix 實(shí)例的構(gòu)造函數(shù)。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
srcMatrix | 指示要從中復(fù)制值的矩陣。 |
Since:
3
public float[] getData()
獲取矩陣的浮點(diǎn)數(shù)組。
返回:
返回矩陣的浮點(diǎn)數(shù)組。 數(shù)組長(zhǎng)度為 9。
public int index(int row, int col)
根據(jù)輸入的行號(hào)和列號(hào)計(jì)算數(shù)組索引。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
col | - 表示行索引。 |
row | - 表示列索引。 |
返回:
返回?cái)?shù)組索引。
public void setMatrix(int row, int col, float value)
在矩陣的指定行和列中設(shè)置一個(gè)值。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
col | 指示要在其中設(shè)置值的列。 |
row | 指示要在其中設(shè)置值的行。 |
value | 表示要設(shè)置的值。 |
public void setMatrix(Matrix srcMatrix)
將指定 srcMatrix 矩陣中的值復(fù)制到當(dāng)前矩陣。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
srcMatrix | 指示要從中復(fù)制值的矩陣。 |
public void setIdentity()
將當(dāng)前矩陣設(shè)置為單位矩陣。
Since:
3
public void reset()
將此 Matrix 重置為單位矩陣,也稱為單位矩陣。
Since:
3
public boolean isIdentity()
檢查矩陣是否為單位矩陣。
返回:
如果矩陣是單位矩陣,則返回 true; 否則返回 false。
public boolean equalsMatrixValue(Matrix otherMatrix)
獲取指定對(duì)象矩陣值是否等于當(dāng)前矩陣值。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
otherMatrix | 表示指定的矩陣。 |
返回:
如果指定對(duì)象的矩陣值等于當(dāng)前矩陣,則返回 true,否則返回 false。
Since:
3
public void multiply(Matrix otherMatrix)
計(jì)算將當(dāng)前矩陣與指定矩陣相乘的結(jié)果。
指定的矩陣放置在乘號(hào)的右側(cè)。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
otherMatrix | 指示要與之相乘的指定矩陣。 |
public void rotate(float angle)
實(shí)現(xiàn)矩陣按指定度數(shù)的旋轉(zhuǎn)。
如果角度為正值,則矩陣順時(shí)針旋轉(zhuǎn),如果為負(fù)值,則逆時(shí)針旋轉(zhuǎn)。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
angle | 表示矩陣的旋轉(zhuǎn)度數(shù)。 |
public void scale(float scaleX, float scaleY)
實(shí)現(xiàn)矩陣在 X 軸和 Y 軸上的縮放。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
scaleX | 表示 X 軸的縮放比例。 |
scaleY | 表示 Y 軸的縮放比例。 |
public void translate(float transX, float transY)
根據(jù)X軸和Y軸的平移度實(shí)現(xiàn)矩陣的平移。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
transX | 表示 X 軸平移度數(shù)。 |
transY | 表示 Y 軸平移度數(shù)。 |
public void transpose()
實(shí)現(xiàn)矩陣的轉(zhuǎn)置。
public void setRotate(float degrees)
將矩陣設(shè)置為圍繞樞軸點(diǎn) (0,0) 旋轉(zhuǎn)指定的度數(shù)。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
degrees | 指示要旋轉(zhuǎn)的度數(shù)。 |
Since:
3
public void setRotate(float degrees, float px, float py)
將矩陣設(shè)置為圍繞樞軸點(diǎn) (px,py) 旋轉(zhuǎn)指定的度數(shù)。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
degrees | 指示要旋轉(zhuǎn)的度數(shù)。 |
px | 表示樞軸點(diǎn)的 X 坐標(biāo)。 |
py | 表示樞軸點(diǎn)的 Y 坐標(biāo)。 |
Since:
3
public void getElements(float[] elements)
獲取此 Matrix 的元素值。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
elements | 表示一個(gè)數(shù)組,用于存儲(chǔ)獲取的元素值。 |
Since:
3
public void setElements(float[] elements)
設(shè)置此矩陣的元素值。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
elements | 指示要為此矩陣設(shè)置的元素值數(shù)組。 |
Since:
3
public boolean invert(Matrix inverse)
反轉(zhuǎn)此矩陣。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
inverse | 指示要保存此 Matrix 的逆矩陣的矩陣。 |
返回:
如果此 Matrix 反轉(zhuǎn),則返回 true; 否則返回 false。
Since:
3
public void mapPoints(float[] pts)
對(duì)點(diǎn)數(shù)組執(zhí)行矩陣變換,并將變換結(jié)果寫入該數(shù)組。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
pts | 指示要變換的點(diǎn)數(shù)組。 |
Since:
3
public void mapPoints(float[] dst, float[] src)
對(duì)源點(diǎn)數(shù)組執(zhí)行矩陣變換,并將變換結(jié)果寫入目標(biāo)數(shù)組。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
dst | 表示存儲(chǔ)變換點(diǎn)的目標(biāo)數(shù)組。 |
src | 指示要變換的點(diǎn)的源數(shù)組。 |
Since:
3
public void mapPoints(float[] dst, int dstIndex, float[] src, int srcIndex, int pointCount)
執(zhí)行從源數(shù)組中的指定點(diǎn)開始的矩陣變換,并將變換結(jié)果寫入目標(biāo)數(shù)組。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
dst | 表示存儲(chǔ)變換點(diǎn)的目標(biāo)數(shù)組。 |
dstIndex | 指示目標(biāo)數(shù)組中第一個(gè)變換點(diǎn)的索引。 |
src | 指示要變換的點(diǎn)的源數(shù)組。 |
srcIndex | 指示源數(shù)組中要轉(zhuǎn)換的第一個(gè)點(diǎn)的索引。 |
pointCount | 表示要變換的點(diǎn)數(shù)。 |
Since:
3
public boolean postConcat(Matrix otherMatrix)
將此 Matrix 后乘以指定的矩陣。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
otherMatrix | 表示后乘的指定矩陣。 |
返回:
如果操作成功,則返回 true; 否則返回 false。
Since:
3
public boolean postScale(float sx, float sy)
將此 Matrix 與指定的比例后乘。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
sx | 表示水平刻度。 |
sy | 表示垂直刻度。 |
返回:
如果操作成功,則返回 true; 否則返回 false。
Since:
3
public boolean postScale(float sx, float sy, float px, float py)
將此 Matrix 與指定的比例和透視點(diǎn)的指定位置進(jìn)行后乘。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
sx | 表示水平刻度。 |
sy | 表示垂直刻度。 |
px | 表示縮放中心點(diǎn)的X坐標(biāo)。 |
py | 表示縮放中心點(diǎn)的 Y 坐標(biāo)。 |
返回:
如果操作成功,則返回 true; 否則返回 false。
Since:
3
public boolean postTranslate(float dx, float dy)
將此 Matrix 與指定的平移進(jìn)行后乘。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
dx | 指示要平移的水平長(zhǎng)度。 |
dy | 指示要平移的垂直長(zhǎng)度。 |
返回:
如果操作成功,則返回 true; 否則返回 false。
Since:
3
public boolean preConcat(Matrix otherMatrix)
將此 Matrix 預(yù)乘以指定的矩陣。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
otherMatrix | 表示用于預(yù)乘的指定矩陣。 |
返回:
如果操作成功,則返回 true; 否則返回 false。
Since:
3
public boolean preRotate(float degrees)
將此 Matrix 與指定的旋轉(zhuǎn)預(yù)乘。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
degrees | 指示要旋轉(zhuǎn)的度數(shù)。 |
返回:
如果操作成功,則返回 true; 否則返回 false。
Since:
3
public boolean preRotate(float degrees, float px, float py)
將此 Matrix 與指定的旋轉(zhuǎn)和透視點(diǎn)的指定位置預(yù)乘。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
degrees | 指示要旋轉(zhuǎn)的度數(shù)。 |
px | 表示旋轉(zhuǎn)中心點(diǎn)的 X 坐標(biāo)。 |
py | 表示旋轉(zhuǎn)中心點(diǎn)的 Y 坐標(biāo)。 |
返回:
如果操作成功,則返回 true; 否則返回 false。
Since:
3
public void setScale(float sx, float sy)
按指定值縮放此矩陣。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
sx | 表示水平刻度。 |
sy | 表示垂直刻度。 |
Since:
3
public void setScale(float sx, float sy, float px, float py)
按指定值和透視點(diǎn)的指定位置縮放此矩陣。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
sx | 表示水平刻度。 |
sy | 表示垂直刻度。 |
px | 表示縮放中心點(diǎn)的X坐標(biāo)。 |
py | 表示縮放中心點(diǎn)的 Y 坐標(biāo)。 |
Since:
3
public boolean preTranslate(float dx, float dy)
將此 Matrix 與指定的翻譯預(yù)乘。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
dx | 指示要平移的水平長(zhǎng)度。 |
dy | 指示要平移的垂直長(zhǎng)度。 |
返回:
如果操作成功,則返回 true; 否則返回 false。
Since:
3
public void setTranslate(float dx, float dy)
用指定的值轉(zhuǎn)換這個(gè)矩陣。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
dx | 指示要平移的水平長(zhǎng)度。 |
dy | 指示要平移的垂直長(zhǎng)度。 |
Since:
3
public boolean preScale(float sx, float sy)
將此矩陣預(yù)乘以指定的比例。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
sx | 表示水平刻度。 |
sy | 表示垂直刻度。 |
返回:
如果操作成功,則返回 true; 否則返回 false。
Since:
3
public boolean preScale(float sx, float sy, float px, float py)
將此 Matrix 與指定的比例和透視點(diǎn)的指定位置預(yù)乘。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
sx | 表示水平刻度。 |
sy | 表示垂直刻度。 |
px | 表示縮放中心點(diǎn)的X坐標(biāo)。 |
py | 表示縮放中心點(diǎn)的 Y 坐標(biāo)。 |
返回:
如果操作成功,則返回 true; 否則返回 false。
Since:
3
public boolean preSkew(float kx, float ky)
將此 Matrix 與指定的偏斜預(yù)乘。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
kx | 表示水平傾斜。 |
ky | 表示垂直傾斜。 |
返回:
如果操作成功,則返回 true; 否則返回 false。
Since:
3
public float mapRadius(float radius)
計(jì)算被此 Matrix 映射后的圓的平均半徑。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
radius | 表示映射后圓的半徑。 |
返回:
返回映射后圓的平均半徑。
Since:
3
public boolean postRotate(float degrees, float px, float py)
將此 Matrix 與指定的旋轉(zhuǎn)和透視點(diǎn)的指定位置進(jìn)行后乘。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
degrees | 指示要旋轉(zhuǎn)的度數(shù)。 |
px | 表示旋轉(zhuǎn)中心點(diǎn)的 X 坐標(biāo)。 |
py | 表示旋轉(zhuǎn)中心點(diǎn)的 Y 坐標(biāo)。 |
返回:
如果操作成功,則返回 true; 否則返回 false。
Since:
3
public boolean mapRect(RectFloat rectFloat)
對(duì)矩形執(zhí)行矩陣變換并將變換結(jié)果寫入該矩形。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
rectFloat | 指示要變換的矩形。 |
返回:
如果操作成功,則返回 true; 否則返回 false。
Since:
3
public boolean mapRect(RectFloat dst, RectFloat src)
對(duì)源矩形執(zhí)行矩陣變換并將變換結(jié)果寫入目標(biāo)矩形。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
dst | 表示存儲(chǔ)變換結(jié)果的目標(biāo)矩形。 |
src | 指示要變換的源矩形。 |
返回:
如果操作成功,則返回 true; 否則返回 false。
Since:
3
public boolean setRectToRect(RectFloat src, RectFloat dst, Matrix.ScaleToFit scaleToFit)
根據(jù)指定的縮放模式將源矩形設(shè)置在目標(biāo)矩形內(nèi)。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
src | 指示源矩形。 |
dst | 指示目標(biāo)矩形 |
scaleToFit | 指示縮放模式,如 ScaleToFit 中所列舉的。 |
返回:
如果操作成功,則返回 true; 否則返回 false。
Since:
3
public void setSkew(float kx, float ky)
按指定的傾斜因子傾斜此矩陣。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
kx | 表示水平傾斜因子。 |
ky | 指示垂直偏斜系數(shù)。 |
Since:
4
public void setSkew(float kx, float ky, float px, float py)
通過指定的傾斜因子圍繞指定的樞軸傾斜此矩陣。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
kx | 表示水平傾斜因子。 |
ky | 指示垂直偏斜系數(shù)。 |
px | 指示傾斜樞軸的 x 坐標(biāo)。 |
py | 指示傾斜樞軸的 y 坐標(biāo)。 |
Since:
4
public boolean setConcat(Matrix matrixA, Matrix matrixB)
將此 Matrix 設(shè)置為矩陣 A 乘以矩陣 B。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
matrixA | 表示矩陣 A。 |
matrixB | 表示矩陣 B。 |
返回:
如果操作成功,則返回 true; 否則返回 false。
Since:
4
public boolean postSkew(float kx, float ky)
將此 Matrix 與指定的偏斜因子進(jìn)行后乘。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
kx | 表示水平傾斜因子。 |
ky | 指示垂直偏斜系數(shù)。 |
返回:
如果操作成功,則返回 true; 否則返回 false。
Since:
4
public boolean postSkew(float kx, float ky, float px, float py)
用指定的偏斜因子將該矩陣圍繞指定的樞軸進(jìn)行后乘。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
kx | 表示水平傾斜因子。 |
ky | 指示垂直偏斜系數(shù)。 |
px | 指示傾斜樞軸的 x 坐標(biāo)。 |
py | 指示傾斜樞軸的 y 坐標(biāo)。 |
返回:
如果操作成功,則返回 true; 否則返回 false。
Since:
4
public boolean setPolyToPoly(float[] src, int srcIndex, float[] dst, int dstIndex, int pointCount)
設(shè)置此矩陣以使指定的源點(diǎn)映射到指定的目標(biāo)點(diǎn)。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
src | 表示源點(diǎn)數(shù)組。 |
srcIndex | 指示要在源點(diǎn)數(shù)組中使用的第一對(duì)點(diǎn)的索引。 |
dst | 指示目標(biāo)點(diǎn)數(shù)組。 |
dstIndex | 指示要在目標(biāo)點(diǎn)數(shù)組中使用的第一對(duì)點(diǎn)的索引。 |
pointCount | 表示點(diǎn)數(shù)。 |
返回:
如果操作成功,則返回 true; 否則返回 false。
Since:
4
public boolean rectStaysRect()
檢查此 Matrix 是否可以將一個(gè)矩形映射到另一個(gè)矩形。 此方法等效于 preservesAxisAlignment()。
返回:
如果此 Matrix 可以將一個(gè)矩形映射到另一個(gè)矩形,則返回 true; 否則返回 false。
Since:
4
public boolean isScaleTranslate()
檢查此矩陣是否已縮放和平移。
返回:
如果已執(zhí)行縮放和平移,則返回 true; 否則返回 false。
Since:
4
public boolean isTranslate()
檢查此矩陣是否已被翻譯。
返回:
如果已執(zhí)行翻譯,則返回 true; 否則返回 false。
Since:
4
public boolean preservesAxisAlignment()
檢查此 Matrix 是否可以將一個(gè) Rect 對(duì)象映射到另一個(gè)。 此方法等效于 rectStaysRect()。
返回:
如果此 Matrix 可以將一個(gè) Rect 對(duì)象映射到另一個(gè),則返回 true; 否則返回 false。
Since:
4
public boolean hasPerspective()
檢查此矩陣是否包含透視元素。
返回:
如果包含透視元素,則返回 true; 否則返回 false。
Since:
4
public boolean isSimilarity()
檢查此 Matrix 是否僅包含旋轉(zhuǎn)、統(tǒng)一縮放和平移。
返回:
如果只包含旋轉(zhuǎn)、統(tǒng)一縮放和平移,則返回 true; 否則返回 false。
Since:
4
public boolean preservesRightAngles()
檢查此矩陣是否僅包含旋轉(zhuǎn)、縮放(允許非均勻縮放)和平移。
返回:
如果僅包含旋轉(zhuǎn)、縮放(允許非均勻縮放)和平移,則返回 true; 否則返回 false。
Since:
4
public float get(int index)
根據(jù)數(shù)組索引獲取矩陣值。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
index | 表示數(shù)組索引,取值范圍為 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()
獲取此矩陣的水平透視系數(shù)。
返回:
返回水平透視系數(shù)。
Since:
4
public float getPerspY()
獲取此 Matrix 的垂直透視系數(shù)。
返回:
返回垂直透視因子。
Since:
4
public void setScaleX(float v)
設(shè)置此矩陣的水平比例因子。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
v | 指示要設(shè)置的水平比例因子。 |
Since:
4
public void setScaleY(float v)
設(shè)置此矩陣的垂直比例因子。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
v | 指示要設(shè)置的垂直比例因子。 |
Since:
4
public void setSkewX(float v)
設(shè)置此矩陣的水平傾斜因子。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
v | 指示要設(shè)置的水平傾斜因子。 |
Since:
4
public void setSkewY(float v)
設(shè)置此矩陣的垂直偏斜系數(shù)。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
v | 指示要設(shè)置的垂直偏斜系數(shù)。 |
Since:
4
public void setTranslateX(float v)
設(shè)置此矩陣的水平平移因子。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
v | 指示要設(shè)置的水平平移因子。 |
Since:
4
public void setTranslateY(float v)
設(shè)置此矩陣的垂直平移因子。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
v | 指示要設(shè)置的垂直平移因子。 |
Since:
4
public void setPerspX(float v)
設(shè)置此矩陣的水平透視系數(shù)。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
v | 指示要設(shè)置的水平透視系數(shù)。 |
Since:
4
public void setPerspY(float v)
設(shè)置此矩陣的垂直透視系數(shù)。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
v | 指示要設(shè)置的垂直透視系數(shù)。 |
Since:
4
public void setSinCos(float sinValue, float cosValue, float px, float py)
將此 Matrix 設(shè)置為通過旋轉(zhuǎn)向量的給定水平和垂直分量圍繞指定坐標(biāo)處的透視點(diǎn)旋轉(zhuǎn)。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
sinValue | 表示旋轉(zhuǎn)向量的水平分量。 |
cosValue | 表示旋轉(zhuǎn)向量的垂直分量。 |
px | 表示透視點(diǎn)的x坐標(biāo)。 |
py | 表示透視點(diǎn)的y坐標(biāo)。 |
Since:
4
public void setSinCos(float sinValue, float cosValue)
設(shè)置此矩陣以旋轉(zhuǎn)矢量的指定水平和垂直分量圍繞透視點(diǎn) (0,0) 旋轉(zhuǎn)。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
sinValue | 表示旋轉(zhuǎn)向量的水平分量。 |
cosValue | 表示旋轉(zhuǎn)向量的垂直分量。 |
Since:
4
public void preSkew(float kx, float ky, float px, float py)
將此 Matrix 與指定的傾斜和透視點(diǎn)的指定位置預(yù)乘。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
kx | 表示水平傾斜因子。 |
ky | 指示垂直偏斜系數(shù)。 |
px | 指示傾斜樞軸的 x 坐標(biāo)。 |
py | 指示傾斜樞軸的 y 坐標(biāo)。 |
Since:
4
public boolean postIDiv(int divx, int divy)
將此 Matrix 與指定的比例因子進(jìn)行后乘。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
divx | 表示水平比例因子的倒數(shù)。 |
divy | 表示垂直比例因子的倒數(shù)。 |
返回:
如果操作成功,則返回 true; 如果 divx 或 divy 為 0,則返回 false。
Since:
4
public void postRotate(float degrees)
將此 Matrix 與指定的旋轉(zhuǎn)進(jìn)行后乘。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
degrees | 指示要旋轉(zhuǎn)的度數(shù)。 |
Since:
4
public void mapRectScaleTranslate(RectFloat dst, RectFloat src)
對(duì)源矩形進(jìn)行矩陣變換,并將變換結(jié)果存儲(chǔ)在目標(biāo)矩形中。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
dst | 表示存儲(chǔ)變換結(jié)果的目標(biāo)矩形。 |
src | 指示要變換的源矩形。 |
Since:
4
public boolean isFixedStepInX()
檢查在 y 軸上執(zhí)行矩陣變換后是否可以用常數(shù)向量表示 x 軸單位步長(zhǎng)。
返回:
如果 x-aix 單位步長(zhǎng)可以用一個(gè)常數(shù)向量表示,則返回 true,即這個(gè) Matrix 沒有復(fù)透視; 否則返回 false。
Since:
4
public boolean cheapEqualTo(Matrix matrixM)
檢查此 Matrix 和指定的矩陣是否由相同的位模式表示。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
matrixM | 指示要比較的指定矩陣。 |
返回:
如果此 Matrix 和指定的矩陣具有相同的位模式,則返回 true; 否則返回 false。
Since:
4
public float getMinScale()
通過分解縮放和傾斜元素獲得此矩陣的最小比例因子。
返回:
返回最小比例因子。
Since:
4
public float getMaxScale()
通過分解縮放和傾斜元素獲得此矩陣的最大比例因子。
返回:
返回最大比例因子。
Since:
4
public void dirtyMatrixTypeCache()
將內(nèi)部緩存設(shè)置為未知狀態(tài)。
Since:
4
public void setScaleTranslate(float sx, float sy, float tx, float ty)
初始化此矩陣的比例和平移因子。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
sx | 指示要初始化的水平比例因子。 |
sy | 指示要初始化的垂直比例因子。 |
tx | 指示要初始化的水平平移因子。 |
ty | 指示要初始化的垂直平移因子。 |
Since:
4
public boolean isFinite()
檢查此矩陣的所有元素是否都是有限的。
返回:
如果所有元素都是有限的,則返回 true; 否則返回 false。
Since:
4
public boolean equals(Object object)
檢查此 Matrix 對(duì)象是否等于指定的 Matrix 對(duì)象。
覆蓋:
類 Object 中的等于
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
object | 指示要比較的 Matrix 對(duì)象。 |
返回:
如果兩個(gè)對(duì)象相等則返回真; 否則返回 false。
Since:
5
public int hashCode()
從類復(fù)制的描述:對(duì)象
返回對(duì)象的哈希碼值。 支持這種方法是為了有利于哈希表,例如 HashMap 提供的那些。
hashCode 的一般合約是:
在合理可行的情況下,由 Object 類定義的 hashCode 方法確實(shí)為不同的對(duì)象返回不同的整數(shù)。 (這通常通過將對(duì)象的內(nèi)部地址轉(zhuǎn)換為整數(shù)來實(shí)現(xiàn),但 Java? 編程語言不需要這種實(shí)現(xiàn)技術(shù)。)
覆蓋:
類 Object 中的 hashCode
返回:
此對(duì)象的哈希碼值。
public String toString()
獲取此 Matrix 對(duì)象的字符串表示形式。
覆蓋:
類 Object 中的 toString
返回:
返回一個(gè)字符串表示。
Since:
5
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: