鴻蒙OS Matrix

2022-11-01 10:18 更新

Matrix

java.lang.Object

|---ohos.agp.utils.Matrix

  1. public class Matrix
  2. 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

構造函數詳細信息

Matrix

public Matrix()

用于創(chuàng)建 Matrix 實例的默認構造函數。

Since:

3

Matrix

public Matrix(float[] srcMatrixArray)

用于創(chuàng)建 Matrix 實例的構造函數。

此構造函數創(chuàng)建一個 3x3 矩陣,并復制指定的數組以初始化矩陣。

參數:

參數名稱 參數描述
srcMatrixArray 表示矩陣的浮點數組。 數組長度為 9。

Matrix

public Matrix(Matrix srcMatrix)

用于創(chuàng)建 Matrix 實例的構造函數。

參數:

參數名稱 參數描述
srcMatrix 指示要從中復制值的矩陣。

Since:

3

方法詳情

getData

public float[] getData()

獲取矩陣的浮點數組。

返回:

返回矩陣的浮點數組。 數組長度為 9。

index

public int index(int row, int col)

根據輸入的行號和列號計算數組索引。

參數:

參數名稱 參數描述
col - 表示行索引。
row - 表示列索引。

返回:

返回數組索引。

setMatrix

public void setMatrix(int row, int col, float value)

在矩陣的指定行和列中設置一個值。

參數:

參數名稱 參數描述
col 指示要在其中設置值的列。
row 指示要在其中設置值的行。
value 表示要設置的值。

setMatrix

public void setMatrix(Matrix srcMatrix)

將指定 srcMatrix 矩陣中的值復制到當前矩陣。

參數:

參數名稱 參數描述
srcMatrix 指示要從中復制值的矩陣。

setIdentity

public void setIdentity()

將當前矩陣設置為單位矩陣。

Since:

3

reset

public void reset()

將此 Matrix 重置為單位矩陣,也稱為單位矩陣。

Since:

3

isIdentity

public boolean isIdentity()

檢查矩陣是否為單位矩陣。

返回:

如果矩陣是單位矩陣,則返回 true; 否則返回 false。

equalsMatrixValue

public boolean equalsMatrixValue(Matrix otherMatrix)

獲取指定對象矩陣值是否等于當前矩陣值。

參數:

參數名稱 參數描述
otherMatrix 表示指定的矩陣。

返回:

如果指定對象的矩陣值等于當前矩陣,則返回 true,否則返回 false。

Since:

3

multiply

public void multiply(Matrix otherMatrix)

計算將當前矩陣與指定矩陣相乘的結果。

指定的矩陣放置在乘號的右側。

參數:

參數名稱 參數描述
otherMatrix 指示要與之相乘的指定矩陣。

rotate

public void rotate(float angle)

實現矩陣按指定度數的旋轉。

如果角度為正值,則矩陣順時針旋轉,如果為負值,則逆時針旋轉。

參數:

參數名稱 參數描述
angle 表示矩陣的旋轉度數。

scale

public void scale(float scaleX, float scaleY)

實現矩陣在 X 軸和 Y 軸上的縮放。

參數:

參數名稱 參數描述
scaleX 表示 X 軸的縮放比例。
scaleY 表示 Y 軸的縮放比例。

translate

public void translate(float transX, float transY)

根據X軸和Y軸的平移度實現矩陣的平移。

參數:

參數名稱 參數描述
transX 表示 X 軸平移度數。
transY 表示 Y 軸平移度數。

transpose

public void transpose()

實現矩陣的轉置。

setRotate

public void setRotate(float degrees)

將矩陣設置為圍繞樞軸點 (0,0) 旋轉指定的度數。

參數:

參數名稱 參數描述
degrees 指示要旋轉的度數。

Since:

3

setRotate

public void setRotate(float degrees, float px, float py)

將矩陣設置為圍繞樞軸點 (px,py) 旋轉指定的度數。

參數:

參數名稱 參數描述
degrees 指示要旋轉的度數。
px 表示樞軸點的 X 坐標。
py 表示樞軸點的 Y 坐標。

Since:

3

getElements

public void getElements(float[] elements)

獲取此 Matrix 的元素值。

參數:

參數名稱 參數描述
elements 表示一個數組,用于存儲獲取的元素值。

Since:

3

setElements

public void setElements(float[] elements)

設置此矩陣的元素值。

參數:

參數名稱 參數描述
elements 指示要為此矩陣設置的元素值數組。

Since:

3

invert

public boolean invert(Matrix inverse)

反轉此矩陣。

參數:

參數名稱 參數描述
inverse 指示要保存此 Matrix 的逆矩陣的矩陣。

返回:

如果此 Matrix 反轉,則返回 true; 否則返回 false。

Since:

3

mapPoints

public void mapPoints(float[] pts)

對點數組執(zhí)行矩陣變換,并將變換結果寫入該數組。

參數:

參數名稱 參數描述
pts 指示要變換的點數組。

Since:

3

mapPoints

public void mapPoints(float[] dst, float[] src)

對源點數組執(zhí)行矩陣變換,并將變換結果寫入目標數組。

參數:

參數名稱 參數描述
dst 表示存儲變換點的目標數組。
src 指示要變換的點的源數組。

Since:

3

mapPoints

public void mapPoints(float[] dst, int dstIndex, float[] src, int srcIndex, int pointCount)

執(zhí)行從源數組中的指定點開始的矩陣變換,并將變換結果寫入目標數組。

參數:

參數名稱 參數描述
dst 表示存儲變換點的目標數組。
dstIndex 指示目標數組中第一個變換點的索引。
src 指示要變換的點的源數組。
srcIndex 指示源數組中要轉換的第一個點的索引。
pointCount 表示要變換的點數。

Since:

3

postConcat

public boolean postConcat(Matrix otherMatrix)

將此 Matrix 后乘以指定的矩陣。

參數:

參數名稱 參數描述
otherMatrix 表示后乘的指定矩陣。

返回:

如果操作成功,則返回 true; 否則返回 false。

Since:

3

postScale

public boolean postScale(float sx, float sy)

將此 Matrix 與指定的比例后乘。

參數:

參數名稱 參數描述
sx 表示水平刻度。
sy 表示垂直刻度。

返回:

如果操作成功,則返回 true; 否則返回 false。

Since:

3

postScale

public boolean postScale(float sx, float sy, float px, float py)

將此 Matrix 與指定的比例和透視點的指定位置進行后乘。

參數:

參數名稱 參數描述
sx 表示水平刻度。
sy 表示垂直刻度。
px 表示縮放中心點的X坐標。
py 表示縮放中心點的 Y 坐標。

返回:

如果操作成功,則返回 true; 否則返回 false。

Since:

3

postTranslate

public boolean postTranslate(float dx, float dy)

將此 Matrix 與指定的平移進行后乘。

參數:

參數名稱 參數描述
dx 指示要平移的水平長度。
dy 指示要平移的垂直長度。

返回:

如果操作成功,則返回 true; 否則返回 false。

Since:

3

preConcat

public boolean preConcat(Matrix otherMatrix)

將此 Matrix 預乘以指定的矩陣。

參數:

參數名稱 參數描述
otherMatrix 表示用于預乘的指定矩陣。

返回:

如果操作成功,則返回 true; 否則返回 false。

Since:

3

preRotate

public boolean preRotate(float degrees)

將此 Matrix 與指定的旋轉預乘。

參數:

參數名稱 參數描述
degrees 指示要旋轉的度數。

返回:

如果操作成功,則返回 true; 否則返回 false。

Since:

3

preRotate

public boolean preRotate(float degrees, float px, float py)

將此 Matrix 與指定的旋轉和透視點的指定位置預乘。

參數:

參數名稱 參數描述
degrees 指示要旋轉的度數。
px 表示旋轉中心點的 X 坐標。
py 表示旋轉中心點的 Y 坐標。

返回:

如果操作成功,則返回 true; 否則返回 false。

Since:

3

setScale

public void setScale(float sx, float sy)

按指定值縮放此矩陣。

參數:

參數名稱 參數描述
sx 表示水平刻度。
sy 表示垂直刻度。

Since:

3

setScale

public void setScale(float sx, float sy, float px, float py)

按指定值和透視點的指定位置縮放此矩陣。

參數:

參數名稱 參數描述
sx 表示水平刻度。
sy 表示垂直刻度。
px 表示縮放中心點的X坐標。
py 表示縮放中心點的 Y 坐標。

Since:

3

preTranslate

public boolean preTranslate(float dx, float dy)

將此 Matrix 與指定的翻譯預乘。

參數:

參數名稱 參數描述
dx 指示要平移的水平長度。
dy 指示要平移的垂直長度。

返回:

如果操作成功,則返回 true; 否則返回 false。

Since:

3

setTranslate

public void setTranslate(float dx, float dy)

用指定的值轉換這個矩陣。

參數:

參數名稱 參數描述
dx 指示要平移的水平長度。
dy 指示要平移的垂直長度。

Since:

3

preScale

public boolean preScale(float sx, float sy)

將此矩陣預乘以指定的比例。

參數:

參數名稱 參數描述
sx 表示水平刻度。
sy 表示垂直刻度。

返回:

如果操作成功,則返回 true; 否則返回 false。

Since:

3

preScale

public boolean preScale(float sx, float sy, float px, float py)

將此 Matrix 與指定的比例和透視點的指定位置預乘。

參數:

參數名稱 參數描述
sx 表示水平刻度。
sy 表示垂直刻度。
px 表示縮放中心點的X坐標。
py 表示縮放中心點的 Y 坐標。

返回:

如果操作成功,則返回 true; 否則返回 false。

Since:

3

preSkew

public boolean preSkew(float kx, float ky)

將此 Matrix 與指定的偏斜預乘。

參數:

參數名稱 參數描述
kx 表示水平傾斜。
ky 表示垂直傾斜。

返回:

如果操作成功,則返回 true; 否則返回 false。

Since:

3

mapRadius

public float mapRadius(float radius)

計算被此 Matrix 映射后的圓的平均半徑。

參數:

參數名稱 參數描述
radius 表示映射后圓的半徑。

返回:

返回映射后圓的平均半徑。

Since:

3

postRotate

public boolean postRotate(float degrees, float px, float py)

將此 Matrix 與指定的旋轉和透視點的指定位置進行后乘。

參數:

參數名稱 參數描述
degrees 指示要旋轉的度數。
px 表示旋轉中心點的 X 坐標。
py 表示旋轉中心點的 Y 坐標。

返回:

如果操作成功,則返回 true; 否則返回 false。

Since:

3

mapRect

public boolean mapRect(RectFloat rectFloat)

對矩形執(zhí)行矩陣變換并將變換結果寫入該矩形。

參數:

參數名稱 參數描述
rectFloat 指示要變換的矩形。

返回:

如果操作成功,則返回 true; 否則返回 false。

Since:

3

mapRect

public boolean mapRect(RectFloat dst, RectFloat src)

對源矩形執(zhí)行矩陣變換并將變換結果寫入目標矩形。

參數:

參數名稱 參數描述
dst 表示存儲變換結果的目標矩形。
src 指示要變換的源矩形。

返回:

如果操作成功,則返回 true; 否則返回 false。

Since:

3

setRectToRect

public boolean setRectToRect(RectFloat src, RectFloat dst, Matrix.ScaleToFit scaleToFit)

根據指定的縮放模式將源矩形設置在目標矩形內。

參數:

參數名稱 參數描述
src 指示源矩形。
dst 指示目標矩形
scaleToFit 指示縮放模式,如 ScaleToFit 中所列舉的。

返回:

如果操作成功,則返回 true; 否則返回 false。

Since:

3

setSkew

public void setSkew(float kx, float ky)

按指定的傾斜因子傾斜此矩陣。

參數:

參數名稱 參數描述
kx 表示水平傾斜因子。
ky 指示垂直偏斜系數。

Since:

4

setSkew

public void setSkew(float kx, float ky, float px, float py)

通過指定的傾斜因子圍繞指定的樞軸傾斜此矩陣。

參數:

參數名稱 參數描述
kx 表示水平傾斜因子。
ky 指示垂直偏斜系數。
px 指示傾斜樞軸的 x 坐標。
py 指示傾斜樞軸的 y 坐標。

Since:

4

setConcat

public boolean setConcat(Matrix matrixA, Matrix matrixB)

將此 Matrix 設置為矩陣 A 乘以矩陣 B。

參數:

參數名稱 參數描述
matrixA 表示矩陣 A。
matrixB 表示矩陣 B。

返回:

如果操作成功,則返回 true; 否則返回 false。

Since:

4

postSkew

public boolean postSkew(float kx, float ky)

將此 Matrix 與指定的偏斜因子進行后乘。

參數:

參數名稱 參數描述
kx 表示水平傾斜因子。
ky 指示垂直偏斜系數。

返回:

如果操作成功,則返回 true; 否則返回 false。

Since:

4

postSkew

public boolean postSkew(float kx, float ky, float px, float py)

用指定的偏斜因子將該矩陣圍繞指定的樞軸進行后乘。

參數:

參數名稱 參數描述
kx 表示水平傾斜因子。
ky 指示垂直偏斜系數。
px 指示傾斜樞軸的 x 坐標。
py 指示傾斜樞軸的 y 坐標。

返回:

如果操作成功,則返回 true; 否則返回 false。

Since:

4

setPolyToPoly

public boolean setPolyToPoly(float[] src, int srcIndex, float[] dst, int dstIndex, int pointCount)

設置此矩陣以使指定的源點映射到指定的目標點。

參數:

參數名稱 參數描述
src 表示源點數組。
srcIndex 指示要在源點數組中使用的第一對點的索引。
dst 指示目標點數組。
dstIndex 指示要在目標點數組中使用的第一對點的索引。
pointCount 表示點數。

返回:

如果操作成功,則返回 true; 否則返回 false。

Since:

4

rectStaysRect

public boolean rectStaysRect()

檢查此 Matrix 是否可以將一個矩形映射到另一個矩形。 此方法等效于 preservesAxisAlignment()。

返回:

如果此 Matrix 可以將一個矩形映射到另一個矩形,則返回 true; 否則返回 false。

Since:

4

isScaleTranslate

public boolean isScaleTranslate()

檢查此矩陣是否已縮放和平移。

返回:

如果已執(zhí)行縮放和平移,則返回 true; 否則返回 false。

Since:

4

isTranslate

public boolean isTranslate()

檢查此矩陣是否已被翻譯。

返回:

如果已執(zhí)行翻譯,則返回 true; 否則返回 false。

Since:

4

preservesAxisAlignment

public boolean preservesAxisAlignment()

檢查此 Matrix 是否可以將一個 Rect 對象映射到另一個。 此方法等效于 rectStaysRect()。

返回:

如果此 Matrix 可以將一個 Rect 對象映射到另一個,則返回 true; 否則返回 false。

Since:

4

hasPerspective

public boolean hasPerspective()

檢查此矩陣是否包含透視元素。

返回:

如果包含透視元素,則返回 true; 否則返回 false。

Since:

4

isSimilarity

public boolean isSimilarity()

檢查此 Matrix 是否僅包含旋轉、統(tǒng)一縮放和平移。

返回:

如果只包含旋轉、統(tǒng)一縮放和平移,則返回 true; 否則返回 false。

Since:

4

preservesRightAngles

public boolean preservesRightAngles()

檢查此矩陣是否僅包含旋轉、縮放(允許非均勻縮放)和平移。

返回:

如果僅包含旋轉、縮放(允許非均勻縮放)和平移,則返回 true; 否則返回 false。

Since:

4

get

public float get(int index)

根據數組索引獲取矩陣值。

參數:

參數名稱 參數描述
index 表示數組索引,取值范圍為 0 到 8。

返回:

返回矩陣值。

Since:

4

getScaleX

public float getScaleX()

獲取此矩陣的水平比例因子。

返回:

返回水平比例因子。

Since:

4

getScaleY

public float getScaleY()

獲取此矩陣的垂直比例因子。

返回:

返回垂直比例因子。

Since:

4

getSkewY

public float getSkewY()

獲取此矩陣的垂直偏斜因子。

返回:

返回垂直偏斜因子。

Since:

4

getSkewX

public float getSkewX()

獲取此矩陣的水平傾斜因子。

返回:

返回水平傾斜因子。

Since:

4

getTranslateX

public float getTranslateX()

獲取此矩陣的水平平移因子。

返回:

返回水平平移因子。

Since:

4

getTranslateY

public float getTranslateY()

獲取此矩陣的垂直平移因子。

返回:

返回垂直平移因子。

Since:

4

getPerspX

public float getPerspX()

獲取此矩陣的水平透視系數。

返回:

返回水平透視系數。

Since:

4

getPerspY

public float getPerspY()

獲取此 Matrix 的垂直透視系數。

返回:

返回垂直透視因子。

Since:

4

setScaleX

public void setScaleX(float v)

設置此矩陣的水平比例因子。

參數:

參數名稱 參數描述
v 指示要設置的水平比例因子。

Since:

4

setScaleY

public void setScaleY(float v)

設置此矩陣的垂直比例因子。

參數:

參數名稱 參數描述
v 指示要設置的垂直比例因子。

Since:

4

setSkewX

public void setSkewX(float v)

設置此矩陣的水平傾斜因子。

參數:

參數名稱 參數描述
v 指示要設置的水平傾斜因子。

Since:

4

setSkewY

public void setSkewY(float v)

設置此矩陣的垂直偏斜系數。

參數:

參數名稱 參數描述
v 指示要設置的垂直偏斜系數。

Since:

4

setTranslateX

public void setTranslateX(float v)

設置此矩陣的水平平移因子。

參數:

參數名稱 參數描述
v 指示要設置的水平平移因子。

Since:

4

setTranslateY

public void setTranslateY(float v)

設置此矩陣的垂直平移因子。

參數:

參數名稱 參數描述
v 指示要設置的垂直平移因子。

Since:

4

setPerspX

public void setPerspX(float v)

設置此矩陣的水平透視系數。

參數:

參數名稱 參數描述
v 指示要設置的水平透視系數。

Since:

4

setPerspY

public void setPerspY(float v)

設置此矩陣的垂直透視系數。

參數:

參數名稱 參數描述
v 指示要設置的垂直透視系數。

Since:

4

setSinCos

public void setSinCos(float sinValue, float cosValue, float px, float py)

將此 Matrix 設置為通過旋轉向量的給定水平和垂直分量圍繞指定坐標處的透視點旋轉。

參數:

參數名稱 參數描述
sinValue 表示旋轉向量的水平分量。
cosValue 表示旋轉向量的垂直分量。
px 表示透視點的x坐標。
py 表示透視點的y坐標。

Since:

4

setSinCos

public void setSinCos(float sinValue, float cosValue)

設置此矩陣以旋轉矢量的指定水平和垂直分量圍繞透視點 (0,0) 旋轉。

參數:

參數名稱 參數描述
sinValue 表示旋轉向量的水平分量。
cosValue 表示旋轉向量的垂直分量。

Since:

4

preSkew

public void preSkew(float kx, float ky, float px, float py)

將此 Matrix 與指定的傾斜和透視點的指定位置預乘。

參數:

參數名稱 參數描述
kx 表示水平傾斜因子。
ky 指示垂直偏斜系數。
px 指示傾斜樞軸的 x 坐標。
py 指示傾斜樞軸的 y 坐標。

Since:

4

postIDiv

public boolean postIDiv(int divx, int divy)

將此 Matrix 與指定的比例因子進行后乘。

參數:

參數名稱 參數描述
divx 表示水平比例因子的倒數。
divy 表示垂直比例因子的倒數。

返回:

如果操作成功,則返回 true; 如果 divx 或 divy 為 0,則返回 false。

Since:

4

postRotate

public void postRotate(float degrees)

將此 Matrix 與指定的旋轉進行后乘。

參數:

參數名稱 參數描述
degrees 指示要旋轉的度數。

Since:

4

mapRectScaleTranslate

public void mapRectScaleTranslate(RectFloat dst, RectFloat src)

對源矩形進行矩陣變換,并將變換結果存儲在目標矩形中。

參數:

參數名稱 參數描述
dst 表示存儲變換結果的目標矩形。
src 指示要變換的源矩形。

Since:

4

isFixedStepInX

public boolean isFixedStepInX()

檢查在 y 軸上執(zhí)行矩陣變換后是否可以用常數向量表示 x 軸單位步長。

返回:

如果 x-aix 單位步長可以用一個常數向量表示,則返回 true,即這個 Matrix 沒有復透視; 否則返回 false。

Since:

4

cheapEqualTo

public boolean cheapEqualTo(Matrix matrixM)

檢查此 Matrix 和指定的矩陣是否由相同的位模式表示。

參數:

參數名稱 參數描述
matrixM 指示要比較的指定矩陣。

返回:

如果此 Matrix 和指定的矩陣具有相同的位模式,則返回 true; 否則返回 false。

Since:

4

getMinScale

public float getMinScale()

通過分解縮放和傾斜元素獲得此矩陣的最小比例因子。

返回:

返回最小比例因子。

Since:

4

getMaxScale

public float getMaxScale()

通過分解縮放和傾斜元素獲得此矩陣的最大比例因子。

返回:

返回最大比例因子。

Since:

4

dirtyMatrixTypeCache

public void dirtyMatrixTypeCache()

將內部緩存設置為未知狀態(tài)。

Since:

4

setScaleTranslate

public void setScaleTranslate(float sx, float sy, float tx, float ty)

初始化此矩陣的比例和平移因子。

參數:

參數名稱 參數描述
sx 指示要初始化的水平比例因子。
sy 指示要初始化的垂直比例因子。
tx 指示要初始化的水平平移因子。
ty 指示要初始化的垂直平移因子。

Since:

4

isFinite

public boolean isFinite()

檢查此矩陣的所有元素是否都是有限的。

返回:

如果所有元素都是有限的,則返回 true; 否則返回 false。

Since:

4

equals

public boolean equals(Object object)

檢查此 Matrix 對象是否等于指定的 Matrix 對象。

覆蓋:

類 Object 中的等于

參數:

參數名稱 參數描述
object 指示要比較的 Matrix 對象。

返回:

如果兩個對象相等則返回真; 否則返回 false。

Since:

5

hashCode

public int hashCode()

從類復制的描述:對象

返回對象的哈希碼值。 支持這種方法是為了有利于哈希表,例如 HashMap 提供的那些。

hashCode 的一般合約是:

  • 每當在 Java 應用程序執(zhí)行期間對同一對象多次調用時,hashCode 方法必須始終返回相同的整數,前提是沒有修改對象上相等比較中使用的信息。 該整數不需要從應用程序的一次執(zhí)行到同一應用程序的另一次執(zhí)行保持一致。
  • 如果兩個對象根據 equals(Object) 方法相等,則對兩個對象中的每一個調用 hashCode 方法必須產生相同的整數結果。
  • 如果根據 Object.equals(java.lang.Object) 方法,如果兩個對象不相等,則不要求對兩個對象中的每一個調用 hashCode 方法必須產生不同的整數結果。 但是,程序員應該意識到,為不相等的對象生成不同的整數結果可能會提高哈希表的性能。

在合理可行的情況下,由 Object 類定義的 hashCode 方法確實為不同的對象返回不同的整數。 (這通常通過將對象的內部地址轉換為整數來實現,但 Java? 編程語言不需要這種實現技術。)

覆蓋:

類 Object 中的 hashCode

返回:

此對象的哈希碼值。

toString

public String toString()

獲取此 Matrix 對象的字符串表示形式。

覆蓋:

類 Object 中的 toString

返回:

返回一個字符串表示。

Since:

5

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號