Added in API level 26

ColorSpace.Connector


public static class ColorSpace.Connector
extends Object

java.lang.Object
   ↳ android.graphics.ColorSpace.Connector


A connector transforms colors from a source color space to a destination color space.

A source color space is connected to a destination color space using the color transform C computed from their respective transforms noted Tsrc and Tdst in the following equation:

C=Tdst1.Tsrc

The transform C shown above is only valid when the source and destination color spaces have the same profile connection space (PCS). We know that instances of ColorSpace always use CIE XYZ as their PCS but their white points might differ. When they do, we must perform a chromatic adaptation of the color spaces' transforms. To do so, we use the von Kries method described in the documentation of Adaptation, using the CIE standard illuminant D50 as the target white point.

Example of conversion from sRGB to DCI-P3:

 ColorSpace.Connector connector = ColorSpace.connect(
         ColorSpace.get(ColorSpace.Named.SRGB),
         ColorSpace.get(ColorSpace.Named.DCI_P3));
 float[] p3 = connector.transform(1.0f, 0.0f, 0.0f);
 // p3 contains { 0.9473, 0.2740, 0.2076 }
 

Summary

Public methods

ColorSpace getDestination()

Returns the destination color space this connector will convert to.

ColorSpace.RenderIntent getRenderIntent()

Returns the render intent this connector will use when mapping the source color space to the destination color space.

ColorSpace getSource()

Returns the source color space this connector will convert from.

float[] transform(float[] v)

Transforms the specified color from the source color space to a color in the destination color space.

float[] transform(float r, float g, float b)

Transforms the specified color from the source color space to a color in the destination color space.

Inherited methods

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(long timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

Public methods

getDestination

Added in API level 26
public ColorSpace getDestination ()

Returns the destination color space this connector will convert to.

Returns
ColorSpace A non-null instance of ColorSpace

See also:

getRenderIntent

Added in API level 26
public ColorSpace.RenderIntent getRenderIntent ()

Returns the render intent this connector will use when mapping the source color space to the destination color space.

getSource

Added in API level 26
public ColorSpace getSource ()

Returns the source color space this connector will convert from.

Returns
ColorSpace A non-null instance of ColorSpace

See also:

transform

Added in API level 26
public float[] transform (float[] v)

Transforms the specified color from the source color space to a color in the destination color space.

Parameters
v float: A non-null array of 3 floats containing the value to transform and that will hold the result of the transform

Returns
float[] The v array passed as a parameter, containing the specified color transformed from the source space to the destination space This value cannot be null.

transform

Added in API level 26
public float[] transform (float r, 
                float g, 
                float b)

Transforms the specified color from the source color space to a color in the destination color space. This convenience method assumes a source color model with 3 components (typically RGB). To transform from color models with more than 3 components, such as CMYK, use transform(float[]) instead.

Parameters
r float: The red component of the color to transform

g float: The green component of the color to transform

b float: The blue component of the color to transform

Returns
float[] A new array of 3 floats containing the specified color transformed from the source space to the destination space This value cannot be null.

See also: