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之外,则摄像机设备将忽略矩形外的部分,并在结果元数据中输出使用的部分。
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() 从此计量矩形创建 |
Size |
getSize() 从这个测量矩形创建大小的便捷方法。 |
Point |
getUpperLeftPoint() 创建左上(X,Y)坐标的便捷方法为 |
int |
getWidth() 返回矩形的宽度。 |
int |
getX() 返回矩形左侧的X坐标。 |
int |
getY() 返回矩形上边的Y坐标。 |
int |
hashCode() 返回对象的哈希码值。 |
String |
toString() 以字符串表示 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
int METERING_WEIGHT_DONT_CARE
权重设置为该值将导致相机设备忽略此矩形。 如果所有测光矩形都用0来衡量,相机设备将选择自己的测光矩形。
常量值:0(0x00000000)
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 (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 (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 |
boolean equals (Object other)
指示其他某个对象是否“等于”这一个。
equals
方法在非空对象引用上实现等价关系:
x
, x.equals(x)
should return true
. x
and y
, x.equals(y)
should return true
if and only if y.equals(x)
returns true
. x
, y
, and z
, if x.equals(y)
returns true
and y.equals(z)
returns true
, then x.equals(z)
should return true
. 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. x
, x.equals(null)
should return false
. 类equals
方法Object
实现了对象上最可能的等价关系; 也就是说,对于任何非空参考值x
和y
,当且仅当x
和y
引用同一对象( 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. |
boolean equals (MeteringRectangle other)
比较两个测量矩形,看它们是否相等。 如果两个加权矩形的每个分量(x,y,宽度,高度,权重)分别相等,则只认为它们相等。
Parameters | |
---|---|
other |
MeteringRectangle : Another MeteringRectangle |
Returns | |
---|---|
boolean |
true if the metering rectangles are equal, false otherwise |
Rect getRect ()
从此计量矩形创建 Rect
便捷方法。
这将剥离矩形的重量。
Returns | |
---|---|
Rect |
a new Rect with non-negative x1, y1, x2, y2 |
Size getSize ()
从这个测量矩形创建大小的便捷方法。
这会从矩形中去掉X,Y的重量。
Returns | |
---|---|
Size |
a new Size with non-negative width and height |
Point getUpperLeftPoint ()
创建左上(X,Y)坐标的便捷方法为 Point
。
Returns | |
---|---|
Point |
a new (x,y) Point with both x,y >= 0 |
int hashCode ()
返回对象的哈希码值。 为了散列表的好处而支持此方法,例如由HashMap
提供的HashMap
。
hashCode
的总合同是:
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. equals(Object)
method, then calling the hashCode
method on each of the two objects must produce the same integer result. 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. |
String toString ()
将测量矩形作为字符串表示 "(x:%d, y:%d, w:%d, h:%d, wt:%d)"
其中每个 %d
分别表示x,y,宽度,高度和权重点。
Returns | |
---|---|
String |
string representation of the metering rectangle |