W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
java.lang.Object
|---ohos.agp.utils.Matrix
public class Matrix
extends Object
配置一個 3x3 矩陣,在主要列中顯示以實現 Canvas 實例的平移、旋轉和縮放。
此類維護一個浮點數組(長度為 9)以形成一個 3x3 矩陣。 它提供了轉換數組中值的接口。
Since:
3
修飾符和類型 | 類 | 描述 |
---|---|---|
static class | Matrix.ScaleToFit | 枚舉將源矩形縮放到目標矩形的模式。 |
構造函數 | 描述 |
---|---|
Matrix() | 用于創(chuàng)建 Matrix 實例的默認構造函數。 |
Matrix(float[] srcMatrixArray) | 用于創(chuàng)建 Matrix 實例的構造函數。 |
Matrix(Matrix srcMatrix) | 用于創(chuàng)建 Matrix 實例的構造函數。 |
修飾符和類型 | 方法 | 描述 |
---|---|---|
boolean | cheapEqualTo(Matrix matrixM) | 檢查此 Matrix 和指定的矩陣是否由相同的位模式表示。 |
void | dirtyMatrixTypeCache() | 將內部緩存設置為未知狀態(tài)。 |
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 軸上執(zhí)行矩陣變換后是否可以用常數向量表示 x 軸單位步長。 |
boolean | isIdentity() | 檢查矩陣是否為單位矩陣。 |
boolean | isScaleTranslate() | 檢查此矩陣是否已縮放和平移。 |
boolean | isSimilarity() | 檢查此 Matrix 是否僅包含旋轉、統(tǒng)一縮放和平移。 |
boolean | isTranslate() | 檢查此矩陣是否已被翻譯。 |
void | mapPoints(float[] pts) | 對點數組執(zhí)行矩陣變換,并將變換結果寫入該數組。 |
void | mapPoints(float[] dst, float[] src) | 對源點數組執(zhí)行矩陣變換,并將變換結果寫入目標數組。 |
void | mapPoints(float[] dst, int dstIndex, float[] src, int srcIndex, int pointCount) | 執(zhí)行從源數組中的指定點開始的矩陣變換,并將變換結果寫入目標數組。 |
float | mapRadius(float radius) | 計算被此 Matrix 映射后的圓的平均半徑。 |
boolean | mapRect(RectFloat rectFloat) | 對矩形執(zhí)行矩陣變換并將變換結果寫入該矩形。 |
boolean | mapRect(RectFloat dst, RectFloat src) | 對源矩形執(zhí)行矩陣變換并將變換結果寫入目標矩形。 |
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()
用于創(chuàng)建 Matrix 實例的默認構造函數。
Since:
3
public Matrix(float[] srcMatrixArray)
用于創(chuàng)建 Matrix 實例的構造函數。
此構造函數創(chuàng)建一個 3x3 矩陣,并復制指定的數組以初始化矩陣。
參數:
參數名稱 | 參數描述 |
---|---|
srcMatrixArray | 表示矩陣的浮點數組。 數組長度為 9。 |
public Matrix(Matrix srcMatrix)
用于創(chuàng)建 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)
對點數組執(zhí)行矩陣變換,并將變換結果寫入該數組。
參數:
參數名稱 | 參數描述 |
---|---|
pts | 指示要變換的點數組。 |
Since:
3
public void mapPoints(float[] dst, float[] src)
對源點數組執(zhí)行矩陣變換,并將變換結果寫入目標數組。
參數:
參數名稱 | 參數描述 |
---|---|
dst | 表示存儲變換點的目標數組。 |
src | 指示要變換的點的源數組。 |
Since:
3
public void mapPoints(float[] dst, int dstIndex, float[] src, int srcIndex, int pointCount)
執(zhí)行從源數組中的指定點開始的矩陣變換,并將變換結果寫入目標數組。
參數:
參數名稱 | 參數描述 |
---|---|
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)
對矩形執(zhí)行矩陣變換并將變換結果寫入該矩形。
參數:
參數名稱 | 參數描述 |
---|---|
rectFloat | 指示要變換的矩形。 |
返回:
如果操作成功,則返回 true; 否則返回 false。
Since:
3
public boolean mapRect(RectFloat dst, RectFloat src)
對源矩形執(zhí)行矩陣變換并將變換結果寫入目標矩形。
參數:
參數名稱 | 參數描述 |
---|---|
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()
檢查此矩陣是否已縮放和平移。
返回:
如果已執(zhí)行縮放和平移,則返回 true; 否則返回 false。
Since:
4
public boolean isTranslate()
檢查此矩陣是否已被翻譯。
返回:
如果已執(zhí)行翻譯,則返回 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 是否僅包含旋轉、統(tǒng)一縮放和平移。
返回:
如果只包含旋轉、統(tǒng)一縮放和平移,則返回 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 軸上執(zhí)行矩陣變換后是否可以用常數向量表示 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()
將內部緩存設置為未知狀態(tài)。
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
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯系方式:
更多建議: