# ColorSpace.Adaptation

Added in[API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

# Adaptation

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/android/graphics/ColorSpace.Adaptation "View this page in Java")  

```
class Adaptation
```

|---|---|----------------------------------------------------------------------------------------------------------------------------------|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)                                                      |||
| ↳ | [kotlin.Enum](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html)\<[android.graphics.ColorSpace.Adaptation](https://developer.android.com/reference/kotlin/android/graphics/ColorSpace.Adaptation#)\> ||
|   | ↳ | [android.graphics.ColorSpace.Adaptation](https://developer.android.com/reference/kotlin/android/graphics/ColorSpace.Adaptation#) |

|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Known Direct Subclasses [ColorSpace.Adaptation.BRADFORD](https://developer.android.com/reference/kotlin/android/graphics/ColorSpace.Adaptation#ENUM_VALUE:BRADFORD),[ColorSpace.Adaptation.CIECAT02](https://developer.android.com/reference/kotlin/android/graphics/ColorSpace.Adaptation#ENUM_VALUE:CIECAT02),[ColorSpace.Adaptation.VON_KRIES](https://developer.android.com/reference/kotlin/android/graphics/ColorSpace.Adaptation#ENUM_VALUE:VON_KRIES) |-----------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------| | [ColorSpace.Adaptation.BRADFORD](https://developer.android.com/reference/kotlin/android/graphics/ColorSpace.Adaptation#ENUM_VALUE:BRADFORD)   | Bradford chromatic adaptation transform, as defined in the CIECAM97s color appearance model. | | [ColorSpace.Adaptation.CIECAT02](https://developer.android.com/reference/kotlin/android/graphics/ColorSpace.Adaptation#ENUM_VALUE:CIECAT02)   | CIECAT02 chromatic adaption transform, as defined in the CIECAM02 color appearance model.    | | [ColorSpace.Adaptation.VON_KRIES](https://developer.android.com/reference/kotlin/android/graphics/ColorSpace.Adaptation#ENUM_VALUE:VON_KRIES) | von Kries chromatic adaptation transform.                                                    | |

List of adaptation matrices that can be used for chromatic adaptation using the von Kries transform. These matrices are used to convert values in the CIE XYZ space to values in the LMS space (Long Medium Short).

Given an adaptation matrix \\(A\\), the conversion from XYZ to LMS is straightforward:
$$\\left\[ \\begin{array}{c} L\\\\ M\\\\ S \\end{array} \\right\] = A \\left\[ \\begin{array}{c} X\\\\ Y\\\\ Z \\end{array} \\right\]$$

The complete von Kries transform \\(T\\) uses a diagonal matrix noted \\(D\\) to perform the adaptation in LMS space. In addition to \\(A\\) and \\(D\\), the source white point \\(W1\\) and the destination white point \\(W2\\) must be specified:
$$\\begin{align\*} \\left\[ \\begin{array}{c} L_1\\\\ M_1\\\\ S_1 \\end{array} \\right\] \&= A \\left\[ \\begin{array}{c} W1_X\\\\ W1_Y\\\\ W1_Z \\end{array} \\right\] \\\\\\ \\left\[ \\begin{array}{c} L_2\\\\ M_2\\\\ S_2 \\end{array} \\right\] \&= A \\left\[ \\begin{array}{c} W2_X\\\\ W2_Y\\\\ W2_Z \\end{array} \\right\] \\\\\\ D \&= \\left\[ \\begin{matrix} \\frac{L_2}{L_1} \& 0 \& 0 \\\\\\ 0 \& \\frac{M_2}{M_1} \& 0 \\\\\\ 0 \& 0 \& \\frac{S_2}{S_1} \\end{matrix} \\right\] \\\\\\ T \&= A\^{-1}.D.A \\end{align\*}$$

As an example, the resulting matrix \\(T\\) can then be used to perform the chromatic adaptation of sRGB XYZ transform from D65 to D50:
$$sRGB_{D50} = T.sRGB_{D65}$$

## Summary

|                                                                                                      Enum values                                                                                                      ||
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [BRADFORD](https://developer.android.com/reference/kotlin/android/graphics/ColorSpace.Adaptation#ENUM_VALUE:BRADFORD) Bradford chromatic adaptation transform, as defined in the CIECAM97s color appearance model. |
| [CIECAT02](https://developer.android.com/reference/kotlin/android/graphics/ColorSpace.Adaptation#ENUM_VALUE:CIECAT02) CIECAT02 chromatic adaption transform, as defined in the CIECAM02 color appearance model.    |
| [VON_KRIES](https://developer.android.com/reference/kotlin/android/graphics/ColorSpace.Adaptation#ENUM_VALUE:VON_KRIES) von Kries chromatic adaptation transform.                                                  |

## Enum values

### BRADFORD

Added in[API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
enum val BRADFORD : ColorSpace.Adaptation
```

Bradford chromatic adaptation transform, as defined in the CIECAM97s color appearance model.  

### CIECAT02

Added in[API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
enum val CIECAT02 : ColorSpace.Adaptation
```

CIECAT02 chromatic adaption transform, as defined in the CIECAM02 color appearance model.  

### VON_KRIES

Added in[API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
enum val VON_KRIES : ColorSpace.Adaptation
```

von Kries chromatic adaptation transform.