Most visited

Recently visited

Added in API level 21

MeteringRectangle

public final class MeteringRectangle
extends Object

java.lang.Object
   ↳ android.hardware.camera2.params.MeteringRectangle


一个不可变的类,用一个额外的权 (x, y, width, height)表示一个矩形 (x, y, width, height)

矩形被定义为包含指定的坐标。

当与使用 CaptureRequest ,坐标系统是基于有源像素阵列上,以 (0,0)是在左上像素 active pixel array ,和 (android.sensor.info.activeArraySize.width - 1, android.sensor.info.activeArraySize.height - 1)是有源像素阵列中的右下像素。

权重范围必须从.METERING_WEIGHT_MIN.METERING_WEIGHT_MAX ,并且表示该区域中每个像素的权重。 这意味着与较小面积相同重量的大型计量区域将对计量结果产生更大的影响。 测光区域可以部分重叠,相机设备将在重叠矩形中添加权重。

如果所有矩形的重量都为0,则相机设备不需要使用特定的测光区域。 如果测量矩形不在使用的捕获结果元数据中返回的android.scaler.cropRegion之外,则摄像机设备将忽略矩形外的部分,并在结果元数据中输出使用的部分。

Summary

Constants

int METERING_WEIGHT_DONT_CARE

权重设置为该值将导致相机设备忽略此矩形。

int METERING_WEIGHT_MAX

有效计量重量的最大值。

int METERING_WEIGHT_MIN

有效计量重量的最小值。

Public constructors

MeteringRectangle(int x, int y, int width, int height, int meteringWeight)

创建一个新的测量矩形。

MeteringRectangle(Point xy, Size dimensions, int meteringWeight)

创建一个新的测量矩形。

MeteringRectangle(Rect rect, int meteringWeight)

创建一个新的测量矩形。

Public methods

boolean equals(Object other)

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

boolean equals(MeteringRectangle other)

比较两个测量矩形,看它们是否相等。

int getHeight()

返回矩形的高度。

int getMeteringWeight()

返回矩形的测量重量。

Rect getRect()

从此计量矩形创建 Rect便捷方法。

Size getSize()

从这个测量矩形创建大小的便捷方法。

Point getUpperLeftPoint()

创建左上(X,Y)坐标的便捷方法为 Point

int getWidth()

返回矩形的宽度。

int getX()

返回矩形左侧的X坐标。

int getY()

返回矩形上边的Y坐标。

int hashCode()

返回对象的哈希码值。

String toString()

以字符串表示 "(x:%d, y:%d, w:%d, h:%d, wt:%d)"返回测量矩形 "(x:%d, y:%d, w:%d, h:%d, wt:%d)"其中每个 %d分别表示x,y,宽度,高度和权重点。

Inherited methods

From class java.lang.Object

Constants

METERING_WEIGHT_DONT_CARE

Added in API level 21
int METERING_WEIGHT_DONT_CARE

权重设置为该值将导致相机设备忽略此矩形。 如果所有测光矩形都用0来衡量,相机设备将选择自己的测光矩形。

常量值:0(0x00000000)

METERING_WEIGHT_MAX

Added in API level 21
int METERING_WEIGHT_MAX

有效计量重量的最大值。

常量值:1000(0x000003e8)

METERING_WEIGHT_MIN

Added in API level 21
int METERING_WEIGHT_MIN

有效计量重量的最小值。

常量值:0(0x00000000)

Public constructors

MeteringRectangle

Added in API level 21
MeteringRectangle (int x, 
                int y, 
                int width, 
                int height, 
                int meteringWeight)

创建一个新的测量矩形。

Parameters
x int: coordinate >= 0
y int: coordinate >= 0
width int: width >= 0
height int: height >= 0
meteringWeight int: weight between .METERING_WEIGHT_MIN and .METERING_WEIGHT_MAX inclusively
Throws
IllegalArgumentException if any of the parameters were negative

MeteringRectangle

Added in API level 21
MeteringRectangle (Point xy, 
                Size dimensions, 
                int meteringWeight)

创建一个新的测量矩形。

xy的数据被复制; 该参考不被保留。

Parameters
xy Point: a non-null Point with both x,y >= 0
dimensions Size: a non-null Size with width, height >= 0
meteringWeight int: weight >= 0
Throws
IllegalArgumentException if any of the parameters were negative
NullPointerException if any of the arguments were null

MeteringRectangle

Added in API level 21
MeteringRectangle (Rect rect, 
                int meteringWeight)

创建一个新的测量矩形。

矩形数据被复制; 该参考不被保留。

Parameters
rect Rect: a non-null rectangle with all x,y,w,h dimensions >= 0
meteringWeight int: weight >= 0
Throws
IllegalArgumentException if any of the parameters were negative
NullPointerException if any of the arguments were null

Public methods

equals

Added in API level 21
boolean equals (Object other)

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

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

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

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

请注意,无论何时覆盖此方法,通常都需要覆盖 hashCode方法,以便维护 hashCode方法的一般合约,该方法声明相等对象必须具有相同的哈希代码。

Parameters
other Object: the reference object with which to compare.
Returns
boolean true if this object is the same as the obj argument; false otherwise.

equals

Added in API level 21
boolean equals (MeteringRectangle other)

比较两个测量矩形,看它们是否相等。 如果两个加权矩形的每个分量(x,y,宽度,高度,权重)分别相等,则只认为它们相等。

Parameters
other MeteringRectangle: Another MeteringRectangle
Returns
boolean true if the metering rectangles are equal, false otherwise

getHeight

Added in API level 21
int getHeight ()

返回矩形的高度。

Returns
int height >= 0

getMeteringWeight

Added in API level 21
int getMeteringWeight ()

返回矩形的测量重量。

Returns
int weight >= 0

getRect

Added in API level 21
Rect getRect ()

从此计量矩形创建 Rect便捷方法。

这将剥离矩形的重量。

Returns
Rect a new Rect with non-negative x1, y1, x2, y2

getSize

Added in API level 21
Size getSize ()

从这个测量矩形创建大小的便捷方法。

这会从矩形中去掉X,Y的重量。

Returns
Size a new Size with non-negative width and height

getUpperLeftPoint

Added in API level 21
Point getUpperLeftPoint ()

创建左上(X,Y)坐标的便捷方法为 Point

Returns
Point a new (x,y) Point with both x,y >= 0

getWidth

Added in API level 21
int getWidth ()

返回矩形的宽度。

Returns
int width >= 0

getX

Added in API level 21
int getX ()

返回矩形左侧的X坐标。

Returns
int x coordinate >= 0

getY

Added in API level 21
int getY ()

返回矩形上边的Y坐标。

Returns
int y coordinate >= 0

hashCode

Added in API level 21
int hashCode ()

返回对象的哈希码值。 为了散列表的好处而支持此方法,例如由HashMap提供的HashMap

hashCode的总合同是:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals(Object) method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals(java.lang.Object) method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.

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

Returns
int a hash code value for this object.

toString

Added in API level 21
String toString ()

将测量矩形作为字符串表示 "(x:%d, y:%d, w:%d, h:%d, wt:%d)"其中每个 %d分别表示x,y,宽度,高度和权重点。

Returns
String string representation of the metering rectangle

Hooray!