阅读(3945) (9)

鸿蒙OS RectFloat

2022-10-28 10:36:42 更新

RectFloat

java.lang.Object

|---ohos.agp.utils.RectFloat

public class RectFloat
extends Object

指示使用浮点坐标的矩形。

此类描述矩形的位置、宽度和高度。

Since:

3

嵌套类摘要

修饰符和类型 描述
static class RectFloat.RotationEnum 表示旋转角度。

字段摘要

修饰符和类型 字段 描述
float bottom 表示矩形右下角的Y坐标。
float left 表示矩形左上角的X坐标。
float right 表示矩形右下角的X坐标。
float top 表示矩形左上角的Y坐标。

构造函数摘要

构造函数 描述
RectFloat() 用于创建 RectFloat 实例的默认构造函数。
RectFloat(float left, float top, float right, float bottom) 用于创建 RectFloat 实例的构造函数。
RectFloat(Rect rect) 用于通过使用具有整数坐标的矩形来创建 RectFloat 实例的构造函数。
RectFloat(RectFloat rectFloat) 用于通过使用具有浮点坐标的矩形创建 RectFloat 实例的构造函数。

方法总结

修饰符和类型 方法 描述
void clear() 清除此 RectFloat。
String convertRectToSignedValue() 将此矩形转换为指定模式“left,top”中的有符号浮点字符串。
boolean equals(Object o) 指示其他对象是否“等于”这个对象。
void fuse(float xCoor, float yCoor) 组合这个矩形和指定的点。
void fuse(float left, float top, float right, float bottom) 将此 RectFloat 与保存给定坐标的指定矩形融合。
void fuse(RectFloat rectFloat) 将此 RectFloat 与指定的矩形融合。
Point getCenter() 获取此 RectFloat 的中心点。
float getHeight() 获取此 RectFloat 的高度。
float getHorizontalCenter() 获取此 RectFloat 的水平中心坐标。
boolean getIntersectRect(RectFloat rectFloat) 检查此 RectFloat 是否与指定的矩形相交,如果它们相交,则将此 RectFloat 设置为该相交。
Point getPivot() 获得一个枢轴点。
float getPivotXCoordinate() 获取枢轴的 x 坐标,此 RectFloat 围绕该坐标旋转和缩放。
float getPivotYCoordinate() 获取枢轴的 y 坐标,此 RectFloat 围绕该坐标旋转和缩放。
DimensFloat getRectSize() 获取此 RectFloat 的大小。
float getVerticalCenter() 获取此 RectFloat 的垂直中心的坐标。
float getWidth() 获取此 RectFloat 的宽度。
int hashCode() 返回对象的哈希码值。
boolean isEmpty() 检查此 RectFloat 是否为空。
boolean isInclude(float x, float y) 检查指定点是否在此 RectFloat 内。
boolean isInclude(float left, float top, float right, float bottom) 检查指定的矩形是否在此 RectFloat 内。
boolean isInclude(Point point) 检查指定点是否在此 RectFloat 内。
boolean isInclude(RectFloat rectFloat) 检查指定的矩形是否在此 RectFloat 内。
boolean isIntersect(float left, float top, float right, float bottom) 根据 left、top、right 和 bottom 检查指定的矩形是否与此 RectFloat 相交。
boolean isIntersect(RectFloat rect) 检查指定矩形是否与此 RectFloat 相交。
static boolean isIntersect(RectFloat rectFloatA, RectFloat rectFloatB) 检查两个指定的矩形是否相交。
void modify(float left, float top, float right, float bottom) 根据指定矩形的位置修改此 RectFloat 的位置。
void modify(Rect rect) 根据具有整数坐标的指定矩形的位置修改此 Rect 的位置。
void modify(RectFloat rectFloat) 根据具有浮点坐标的指定矩形的位置修改此 RectFloat 的位置。
RectFloat obtainIntersectRect(float left, float top, float right, float bottom) 获取此 RectFloat 与基于左、上、右、下的指定矩形的交集矩形。
RectFloat obtainIntersectRect(RectFloat rectFloat) 获取此 RectFloat 与指定矩形的交集矩形。
void reorder() 如果矩形无效,则交换上下边界和/或左右边界。
void rotateBy(RectFloat.RotationEnum rotationEnum) 围绕枢轴旋转此 RectFloat。
void rounding(Rect rect) 将此 RectFloat 的浮点坐标四舍五入到最接近的整数坐标,并创建一个矩形来保存新坐标。
void scale(float scale) 围绕枢轴缩放此 RectFloat。
boolean setIntersect(RectFloat rectFloatA, RectFloat rectFloatB) 将此 RectFloat 设置为彼此相交的两个指定矩形的交点。
void setPivot(float x, float y) 设置此 RectFloat 的轴心。
void setPivot(Point point) 设置枢轴,此 RectFloat 围绕该枢轴旋转并基于点进行缩放。
void setPivotXCoordinate(float x) 设置枢轴的 x 坐标,此 RectFloat 围绕该坐标旋转和缩放。
void setPivotYCoordinate(float y) 设置枢轴的 y 坐标,此 RectFloat 围绕该坐标旋转和缩放。
void shrink(float dx, float dy) 收缩这个 RectFloat。
String toString() 返回对象的字符串表示形式。
void translate(float dx, float dy) 翻译这个 RectFloat。
void translateCenterTo(float centerX, float centerY) 将此 RectFloat 的中心平移到新位置。
void translateCenterTo(Point point) 将此 RectFloat 的中心平移到基于点的新位置。
void translateTo(float newLeft, float newTop) 将此 RectFloat 转换到新位置。
boolean verifyRectFloat() 检查此 RectFloat 是否有效。
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait

字段详细信息

bottom

public float bottom

表示矩形右下角的Y坐标。

left

public float left

表示矩形左上角的X坐标。

right

public float right

表示矩形右下角的X坐标。

top

public float top

表示矩形左上角的Y坐标。

构造函数详细信息

RectFloat

public RectFloat()

用于创建 RectFloat 实例的默认构造函数。

初始值为 (0.0, 0.0, 0.0, 0.0)。

RectFloat

public RectFloat(float left, float top, float right, float bottom)

用于创建 RectFloat 实例的构造函数。

参数:

参数名称 参数描述
left 表示左上角的 X 坐标。
top 表示左上角的 Y 坐标。
right 表示右下角的 X 坐标。
bottom 表示右下角的 Y 坐标。

RectFloat

public RectFloat(Rect rect)

用于通过使用具有整数坐标的矩形来创建 RectFloat 实例的构造函数。

参数:

参数名称 参数描述
rect 表示具有整数坐标的矩形。

Since:

3

RectFloat

public RectFloat(RectFloat rectFloat)

用于通过使用具有浮点坐标的矩形创建 RectFloat 实例的构造函数。

参数:

参数名称 参数描述
rectFloat 指示具有浮点坐标的矩形。

Since:

3

方法详情

getHorizontalCenter

public final float getHorizontalCenter()

获取此 RectFloat 的水平中心坐标。

返回:

返回此 RectFloat 水平中心的坐标。

Since:

3

getVerticalCenter

public final float getVerticalCenter()

获取此 RectFloat 的垂直中心的坐标。

返回:

返回此 RectFloat 的垂直中心的坐标。

Since:

3

getCenter

public Point getCenter()

获取此 RectFloat 的中心点。

返回:

返回中心点。

Since:

4

setPivot

public void setPivot(float x, float y)

设置此 RectFloat 的轴心。

参数:

参数名称 参数描述
x 指示要设置的枢轴的 x 坐标。
y 指示要设置的枢轴的 y 坐标。

Since:

4

setPivot

public void setPivot(Point point)

设置枢轴,此 RectFloat 围绕该枢轴旋转并基于点进行缩放。

参数:

参数名称 参数描述
point 指示要设置的枢轴的坐标。

Since:

4

setPivotXCoordinate

public void setPivotXCoordinate(float x)

设置枢轴的 x 坐标,此 RectFloat 围绕该坐标旋转和缩放。

参数:

参数名称 参数描述
x 指示要设置的枢轴的 x 坐标。

Since:

4

setPivotYCoordinate

public void setPivotYCoordinate(float y)

设置枢轴的 y 坐标,此 RectFloat 围绕该坐标旋转和缩放。

参数:

参数名称 参数描述
y 指示要设置的枢轴的 y 坐标。

Since:

4

getPivot

public Point getPivot()

获得一个枢轴点。

返回:

返回枢轴点。

Since:

4

getPivotXCoordinate

public float getPivotXCoordinate()

获取枢轴的 x 坐标,此 RectFloat 围绕该坐标旋转和缩放。

返回:

返回枢轴的 x 坐标。

Since:

4

getPivotYCoordinate

public float getPivotYCoordinate()

获取枢轴的 y 坐标,此 RectFloat 围绕该坐标旋转和缩放。

返回:

返回枢轴的 y 坐标。

Since:

4

scale

public void scale(float scale)

围绕枢轴缩放此 RectFloat。

参数:

参数名称 参数描述
scale 表示刻度值。

Since:

4

rotateBy

public void rotateBy(RectFloat.RotationEnum rotationEnum)

围绕枢轴旋转此 RectFloat。

参数:

参数名称 参数描述
rotationEnum 指示旋转角度,如 RotationEnum 中所枚举。

Since:

4

isInclude

public boolean isInclude(float x, float y)

检查指定点是否在此 RectFloat 内。

参数:

参数名称 参数描述
x 表示指定点的X坐标。
y 表示指定点的Y坐标。

返回:

如果指定点在此 RectFloat 内,则返回 true; 否则返回 false。

Since:

3

isInclude

public boolean isInclude(Point point)

检查指定点是否在此 RectFloat 内。

参数:

参数名称 参数描述
point 表示指定点。

返回:

如果指定点在此 RectFloat 内,则返回 true; 否则返回 false。

Since:

4

isInclude

public boolean isInclude(RectFloat rectFloat)

检查指定的矩形是否在此 RectFloat 内。

参数:

参数名称 参数描述
rectFloat 表示指定的矩形。

返回:

如果指定的矩形在此 RectFloat 内,则返回 true; 否则返回 false。

Since:

3

isInclude

public boolean isInclude(float left, float top, float right, float bottom)

检查指定的矩形是否在此 RectFloat 内。

参数:

参数名称 参数描述
left 表示指定矩形左上角的 x 坐标。
top 指示指定矩形左上角的 y 坐标。
right 指示指定矩形右下角的 x 坐标。
bottom 指示指定矩形右下角的 y 坐标。

返回:

如果指定的矩形在此 RectFloat 内,则返回 true; 否则返回 false。

Since:

4

equals

public boolean equals(Object o)

指示其他对象是否“等于”这个对象。

equals 方法在非空对象引用上实现等价关系:

  • 它是自反的:对于任何非空引用值 x,x.equals(x) 应该返回 true。
  • 它是对称的:对于任何非空引用值 x 和 y,当且仅当 y.equals(x) 返回 true 时,x.equals(y) 才应该返回 true。
  • 它是可传递的:对于任何非空引用值 x、y 和 z,如果 x.equals(y) 返回 true 并且 y.equals(z) 返回 true,则 x.equals(z) 应该返回 true。
  • 它是一致的:对于任何非空引用值 x 和 y,x.equals(y) 的多次调用始终返回 true 或始终返回 false,前提是没有修改对象上 equals 比较中使用的信息。
  • 对于任何非空引用值 x,x.equals(null) 应该返回 false。

Object 类的 equals 方法实现了对象上最有区别的可能等价关系; 也就是说,对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象(x == y 的值为 true)时,此方法才返回 true。

请注意,每当重写该方法时,通常都需要重写 hashCode 方法,以维护 hashCode 方法的一般约定,即相等的对象必须具有相等的哈希码。

覆盖:

类 Object 中的等于

参数:

参数名称 参数描述
o 要与之比较的参考对象。

返回:

如果此对象与 obj 参数相同,则为 true; 否则为 false。

hashCode

public int hashCode()

返回对象的哈希码值。 支持这种方法是为了有利于哈希表,例如 HashMap 提供的那些。

hashCode 的一般合约是:

  • 每当在 Java 应用程序执行期间对同一对象多次调用时,hashCode 方法必须始终返回相同的整数,前提是没有修改对象上相等比较中使用的信息。 该整数不需要从应用程序的一次执行到同一应用程序的另一次执行保持一致。
  • 如果两个对象根据 equals(Object) 方法相等,则对两个对象中的每一个调用 hashCode 方法必须产生相同的整数结果。
  • 如果根据 Object.equals(java.lang.Object) 方法,如果两个对象不相等,则不要求对两个对象中的每一个调用 hashCode 方法必须产生不同的整数结果。 但是,程序员应该意识到,为不相等的对象生成不同的整数结果可能会提高哈希表的性能。

在合理可行的情况下,由 Object 类定义的 hashCode 方法确实为不同的对象返回不同的整数。 (这通常通过将对象的内部地址转换为整数来实现,但 Java™ 编程语言不需要这种实现技术。)

覆盖:

类 Object 中的 hashCode

返回:

此对象的哈希码值。

getHeight

public final float getHeight()

获取此 RectFloat 的高度。

返回:

返回矩形高度。

Since:

3

getWidth

public final float getWidth()

获取此 RectFloat 的宽度。

返回:

返回矩形宽度。

Since:

3

getRectSize

public DimensFloat getRectSize()

获取此 RectFloat 的大小。

返回:

返回大小。

Since:

4

shrink

public void shrink(float dx, float dy)

收缩这个 RectFloat。

参数:

参数名称 参数描述
dx 表示要收缩的水平长度。
dy 指示要收缩的垂直长度。

Since:

3

getIntersectRect

public boolean getIntersectRect(RectFloat rectFloat)

检查此 RectFloat 是否与指定的矩形相交,如果它们相交,则将此 RectFloat 设置为该相交。

参数:

参数名称 参数描述
rectFloat 表示指定的矩形。

返回:

如果此 RectFloat 与指定的矩形相交,则返回 true; 否则返回 false。

Since:

3

isIntersect

public static boolean isIntersect(RectFloat rectFloatA, RectFloat rectFloatB)

检查两个指定的矩形是否相交。

参数:

参数名称 参数描述
rectFloatA 表示要检查的一个矩形。
rectFloatB 指示要检查的另一个矩形。

返回:

如果两个指定的矩形相交,则返回 true; 否则返回 false。

Since:

3

isIntersect

public boolean isIntersect(float left, float top, float right, float bottom)

根据 left、top、right 和 bottom 检查指定的矩形是否与此 RectFloat 相交。

参数:

参数名称 参数描述
left 表示指定矩形左上角的 x 坐标。
top 指示指定矩形左上角的 y 坐标。
right 指示指定矩形右下角的 x 坐标。
bottom 指示指定矩形右下角的 y 坐标。

返回:

如果指定的矩形与此 RectFloat 相交,则返回 true; 否则返回 false。

Since:

4

isIntersect

public boolean isIntersect(RectFloat rect)

检查指定矩形是否与此 RectFloat 相交。

参数:

参数名称 参数描述
rect 表示指定的矩形。

返回:

如果指定的矩形与此 RectFloat 相交,则返回 true; 否则返回 false。

Since:

4

isEmpty

public final boolean isEmpty()

检查此 RectFloat 是否为空。

返回:

如果此 RectFloat 为空,则返回 true; 否则返回 false。

Since:

3

verifyRectFloat

public boolean verifyRectFloat()

检查此 RectFloat 是否有效。 如果left(矩形左上角的x坐标)小于right(矩形右下角的x坐标)且top(矩形左上角的y坐标)小于bottom,则认为矩形有效 (矩形右下角的 y 坐标)。

返回:

如果此 RectFloat 有效,则返回 true; 否则返回 false。

Since:

4

translate

public void translate(float dx, float dy)

翻译这个 RectFloat。

参数:

参数名称 参数描述
dx 指示要平移的水平长度。
dy 指示要平移的垂直长度。

Since:

3

modify

public void modify(float left, float top, float right, float bottom)

根据指定矩形的位置修改此 RectFloat 的位置。

参数:

参数名称 参数描述
left 表示指定矩形左上角的X坐标。
top 表示指定矩形左上角的Y坐标。
right 表示指定矩形右下角的X坐标。
bottom 表示指定矩形右下角的Y坐标。

Since:

3

modify

public void modify(Rect rect)

根据具有整数坐标的指定矩形的位置修改此 Rect 的位置。

参数:

参数名称 参数描述
rect 用整数坐标表示指定的矩形。

Since:

3

modify

public void modify(RectFloat rectFloat)

根据具有浮点坐标的指定矩形的位置修改此 RectFloat 的位置。

参数:

参数名称 参数描述
rectFloat 指示具有浮点坐标的指定矩形。

Since:

3

clear

public void clear()

清除此 RectFloat。

Since:

3

setIntersect

public boolean setIntersect(RectFloat rectFloatA, RectFloat rectFloatB)

将此 RectFloat 设置为彼此相交的两个指定矩形的交点。

参数:

参数名称 参数描述
rectFloatA 表示一个指定的矩形。
rectFloatB 表示另一个指定的矩形。

返回:

如果两个指定的矩形相交,则返回 true; 否则返回 false。

Since:

3

toString

public String toString()

返回对象的字符串表示形式。 通常,toString 方法返回一个“以文本方式表示”该对象的字符串。 结果应该是一个简洁但信息丰富的表示,易于人们阅读。 建议所有子类重写此方法。

Object 类的 toString 方法返回一个字符串,该字符串由对象作为其实例的类的名称、at 符号字符“@”和对象哈希码的无符号十六进制表示形式组成。 换句话说,此方法返回一个等于以下值的字符串:

 getClass().getName() + '@' + Integer.toHexString(hashCode()) 

覆盖:

类 Object 中的 toString

返回:

对象的字符串表示形式。

fuse

public void fuse(float left, float top, float right, float bottom)

将此 RectFloat 与保存给定坐标的指定矩形融合。

参数:

参数名称 参数描述
left 表示指定矩形左上角的X坐标。
top 表示指定矩形左上角的Y坐标。
right 表示指定矩形右下角的X坐标。
bottom 表示指定矩形右下角的Y坐标。

Since:

3

fuse

public void fuse(RectFloat rectFloat)

将此 RectFloat 与指定的矩形融合。

参数:

参数名称 参数描述
rectFloat 表示指定的矩形。

Since:

3

fuse

public void fuse(float xCoor, float yCoor)

组合这个矩形和指定的点。

参数:

参数名称 参数描述
xCoor 表示指定点的X坐标。
yCoor 表示指定点的Y坐标。

Since:

5

translateTo

public void translateTo(float newLeft, float newTop)

将此 RectFloat 转换到新位置。

参数:

参数名称 参数描述
newLeft 表示新位置矩形左上角的X坐标。
newTop 表示新位置矩形左上角的Y坐标。

Since:

3

translateCenterTo

public void translateCenterTo(float centerX, float centerY)

将此 RectFloat 的中心平移到新位置。

参数:

参数名称 参数描述
centerX 指示矩形新中心的 x 坐标。
centerY 指示矩形新中心的 y 坐标。

Since:

4

translateCenterTo

public void translateCenterTo(Point point)

将此 RectFloat 的中心平移到基于点的新位置。 param point 表示表示新位置的点的坐标。

Since:

4

rounding

public void rounding(Rect rect)

将此 RectFloat 的浮点坐标四舍五入到最接近的整数坐标,并创建一个矩形来保存新坐标。

此 RectFloat 左上角的 X 坐标向下舍入到最接近的整数值作为要创建的矩形左上角的 X 坐标。

此 RectFloat 左上角的 Y 坐标向下舍入到最接近的整数值作为要创建的矩形左上角的 Y 坐标。

这个 RectFloat 的右下角的 X 坐标被四舍五入到最接近的整数值作为要创建的矩形的右下角的 X 坐标。

将此 RectFloat 的右下角的 Y 坐标四舍五入到最接近的整数值作为要创建的矩形的右下角的 Y 坐标。

参数:

参数名称 参数描述
rect 指示要保存新坐标的矩形。

Since:

3

obtainIntersectRect

public RectFloat obtainIntersectRect(float left, float top, float right, float bottom)

获取此 RectFloat 与基于左、上、右、下的指定矩形的交集矩形。

参数:

参数名称 参数描述
left 表示指定矩形左上角的 x 坐标。
top 指示指定矩形左上角的 y 坐标。
right 指示指定矩形右下角的 x 坐标。
bottom 表示指定矩形右下角的y坐标。

返回:

返回两个矩形的相交矩形。

Since:

4

convertRectToSignedValue

public String convertRectToSignedValue()

将此矩形转换为指定模式“left,top”中的有符号浮点字符串。

返回:

返回矩形的字符串表示形式。

Since:

5

reorder

public void reorder()

如果矩形无效,则交换上下边界和/或左右边界。

Since:

5

obtainIntersectRect

public RectFloat obtainIntersectRect(RectFloat rectFloat)

获取此 RectFloat 与指定矩形的交集矩形。

参数:

参数名称 参数描述
rectFloat 表示指定的矩形。

返回:

返回两个矩形的相交矩形。

Since:

4