{% setvar book_path %}/reference/androidx/_book.yaml{% endsetvar %} {% include "_shared/_reference-head-tags.html" %}

Connector

public class 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:

See equation

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:

val connector = ColorSpaces.Srgb.connect(ColorSpaces.DciP3);
val p3 = connector.transform(1.0f, 0.0f, 0.0f);
// p3 contains { 0.9473, 0.2740, 0.2076 }
See also
Adaptation
adapt
connect

Summary

Public methods

final @NonNull ColorSpace

Returns the destination color space this connector will convert to.

final @NonNull RenderIntent

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

final @NonNull ColorSpace

Returns the source color space this connector will convert from.

@NonNull float[]
transform(@NonNull float[] v)

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

final @NonNull 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.

Public methods

getDestination

public final @NonNull ColorSpace getDestination()

Returns the destination color space this connector will convert to.

Returns
@NonNull ColorSpace

A non-null instance of ColorSpace

See also
source

getRenderIntent

public final @NonNull RenderIntent getRenderIntent()

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

Returns
@NonNull RenderIntent

A non-null RenderIntent

See also
RenderIntent

getSource

public final @NonNull ColorSpace getSource()

Returns the source color space this connector will convert from.

Returns
@NonNull ColorSpace

A non-null instance of ColorSpace

See also
destination

transform

public @NonNull float[] transform(@NonNull float[] v)

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

Parameters
@NonNull float[] v

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

Returns
@NonNull float[]

The v array passed as a parameter, containing the specified color transformed from the source space to the destination space

See also
transform

transform

public final @NonNull 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 instead.

Parameters
float r

The red component of the color to transform

float g

The green component of the color to transform

float b

The blue component of the color to transform

Returns
@NonNull float[]

A new array of 3 floats containing the specified color transformed from the source space to the destination space

See also
transform