Added in API level 21

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

Create a new immutable ColorSpaceTransform instance from a Rational array.

Create a new immutable ColorSpaceTransform instance from an int array.

Public methods
Unit
copyElements(destination: Array<Rational!>!, offset: Int)

Copy the Rational elements in row-major order from this matrix into the destination.

Unit
copyElements(destination: IntArray!, offset: Int)

Copy the Rational elements in row-major order from this matrix into the destination.

Boolean
equals(other: Any?)

Check if this ColorSpaceTransform is equal to another ColorSpaceTransform.

Rational!
getElement(column: Int, row: Int)

Get an element of this matrix by its row and column.

Int

Returns a hash code value for the object.

String

Return the color space transform as a string representation.

Public constructors

ColorSpaceTransform

Added in API level 21
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

Added in API level 21
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

Added in API level 21
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

Added in API level 21
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

Added in API level 21
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

Added in API level 21
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

Added in API level 21
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 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 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 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.
Return
Int a hash code value for this object.

toString

Added in API level 21
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