ColorSpaceTransform
class ColorSpaceTransform
kotlin.Any | |
↳ | android.hardware.camera2.params.ColorSpaceTransform |
Immutable class for describing a 3x3 matrix of Rational
values in row-major order.
This matrix maps a transform from one color space to another. For the particular color space source and target, see the appropriate camera metadata documentation for the key that provides this value.
Summary
Public constructors | |
---|---|
ColorSpaceTransform(elements: Array<Rational!>!) Create a new immutable |
|
ColorSpaceTransform(elements: IntArray!) Create a new immutable |
Public methods | |
---|---|
Unit |
copyElements(destination: Array<Rational!>!, offset: Int) Copy the |
Unit |
copyElements(destination: IntArray!, offset: Int) Copy the |
Boolean |
Check if this |
Rational! |
getElement(column: Int, row: Int) Get an element of this matrix by its row and column. |
Int |
hashCode() Returns a hash code value for the object. |
String |
toString() Return the color space transform as a string representation. |
Public constructors
ColorSpaceTransform
ColorSpaceTransform(elements: Array<Rational!>!)
Create a new immutable ColorSpaceTransform
instance from a Rational
array.
The elements must be stored in a row-major order.
Parameters | |
---|---|
elements |
Array<Rational!>!: An array of 9 elements |
Exceptions | |
---|---|
java.lang.IllegalArgumentException |
if the count of elements is not 9 |
java.lang.NullPointerException |
if elements or any sub-element is null |
ColorSpaceTransform
ColorSpaceTransform(elements: IntArray!)
Create a new immutable ColorSpaceTransform
instance from an int
array.
The elements must be stored in a row-major order. Each rational is stored contiguously as a (numerator, denominator)
pair.
In particular:
<code>int[] elements = new int[ N11, D11, N12, D12, N13, D13, N21, D21, N22, D22, N23, D23, N31, D31, N32, D32, N33, D33 ]; new ColorSpaceTransform(elements)</code>where
Nij
and Dij
is the numerator and denominator for row i
and column j
.
Parameters | |
---|---|
elements |
IntArray!: An array of 18 elements |
Exceptions | |
---|---|
java.lang.IllegalArgumentException |
if the count of elements is not 18 |
java.lang.NullPointerException |
if elements is null |
Public methods
copyElements
fun copyElements(
destination: Array<Rational!>!,
offset: Int
): Unit
Copy the Rational
elements in row-major order from this matrix into the destination.
Parameters | |
---|---|
destination |
Array<Rational!>!: an array big enough to hold at least 9 elements after the offset |
offset |
Int: a non-negative offset into the array |
Exceptions | |
---|---|
java.lang.NullPointerException |
If destination was null |
java.lang.ArrayIndexOutOfBoundsException |
If there's not enough room to write the elements at the specified destination and offset. |
copyElements
fun copyElements(
destination: IntArray!,
offset: Int
): Unit
Copy the Rational
elements in row-major order from this matrix into the destination.
Each element is stored as a contiguous rational packed as a (numerator, denominator)
pair of ints, identical to the constructor
.
Parameters | |
---|---|
destination |
IntArray!: an array big enough to hold at least 18 elements after the offset |
offset |
Int: a non-negative offset into the array |
Exceptions | |
---|---|
java.lang.NullPointerException |
If destination was null |
java.lang.ArrayIndexOutOfBoundsException |
If there's not enough room to write the elements at the specified destination and offset. |
equals
fun equals(other: Any?): Boolean
Check if this ColorSpaceTransform
is equal to another ColorSpaceTransform
.
Two color space transforms are equal if and only if all of their elements are equal
.
Parameters | |
---|---|
obj |
the reference object with which to compare. |
Return | |
---|---|
Boolean |
true if the objects were equal, false otherwise |
getElement
fun getElement(
column: Int,
row: Int
): Rational!
Get an element of this matrix by its row and column.
The rows must be within the range [0, 3), and the column must be within the range [0, 3).
Return | |
---|---|
Rational! |
element (non-null ) |
Exceptions | |
---|---|
java.lang.IllegalArgumentException |
if column or row was out of range |
hashCode
fun hashCode(): Int
Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap
.
The general contract of hashCode
is:
- 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 inequals
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
method, then calling thehashCode
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
method, then calling thehashCode
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.
Return | |
---|---|
Int |
a hash code value for this object. |
toString
fun toString(): String
Return the color space transform as a string representation.
Example: "ColorSpaceTransform([1/1, 0/1, 0/1], [0/1, 1/1, 0/1], [0/1, 0/1, 1/1])"
is an identity transform. Elements are printed in row major order.
Return | |
---|---|
String |
string representation of color space transform |