# @ohos.graphics.colorSpaceManager (Color Space Management) The **colorSpaceManager** module provides APIs for creating and managing color space objects and obtaining basic color space attributes. > **NOTE** > > The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version. ## Modules to Import ```ts import { colorSpaceManager } from '@kit.ArkGraphics2D'; ``` ## ColorSpace Enumerates the color space types. **Atomic service API**: This API can be used in atomic services since API version 12. **System capability**: SystemCapability.Graphic.Graphic2D.ColorManager.Core | Name | Value | Description | | --------------------------- | ------ | ----------------------- | | UNKNOWN | 0 | Unknown type.| | ADOBE_RGB_1998 | 1 | Adobe RGB (1998).
The conversion function is of the Adobe RGB (1998) type.
The encoding range is of the Full type. | | DCI_P3 | 2 | DCI-P3.
The conversion function is of the Gamma 2.6 type.
The encoding range is of the Full type.| | DISPLAY_P3 | 3 | Display P3.
The conversion function is of the SRGB type.
The encoding range is of the Full type. | | SRGB | 4 | SRGB.
The conversion function is of the SRGB type.
The encoding range is of the Full type.
This is the default color space type. | | CUSTOM | 5 | Custom type.| | BT70911+ | 6 | BT709.
The conversion function is of the BT709 type.
The encoding range is of the Full type. | | BT601_EBU11+ | 7 | BT601_P.
The conversion function is of the BT709 type.
The encoding range is of the Full type. | | BT601_SMPTE_C11+ | 8 | BT601_N.
The conversion function is of the BT709 type.
The encoding range is of the Full type. | | BT2020_HLG11+ | 9 | BT2020.
The conversion function is of the HLG type.
The encoding range is of the Full type. | | BT2020_PQ11+ | 10 | BT2020.
The conversion function is of the PQ type.
The encoding range is of the Full type. | | P3_HLG11+ | 11 | Display P3.
The conversion function is of the HLG type.
The encoding range is of the Full type. | | P3_PQ11+ | 12 | Display P3.
The conversion function is of the PQ type.
The encoding range is of the Full type. | | ADOBE_RGB_1998_LIMIT11+ | 13 | Adobe RGB (1998).
The conversion function is of the Adobe RGB (1998) type.
The encoding range is of the Limit type. | | DISPLAY_P3_LIMIT11+ | 14 | Display P3.
The conversion function is of the SRGB type.
The encoding range is of the Limit type. | | SRGB_LIMIT11+ | 15 | SRGB.
The conversion function is of the SRGB type.
The encoding range is of the Limit type. | | BT709_LIMIT11+ | 16 | BT709.
The conversion function is of the BT709 type.
The encoding range is of the Limit type. | | BT601_EBU_LIMIT11+ | 17 | BT601_P.
The conversion function is of the BT709 type.
The encoding range is of the Limit type. | | BT601_SMPTE_C_LIMIT11+ | 18 | BT601_N.
The conversion function is of the BT709 type.
The encoding range is of the Limit type. | | BT2020_HLG_LIMIT11+ | 19 | BT2020.
The conversion function is of the HLG type.
The encoding range is of the Limit type. | | BT2020_PQ_LIMIT11+ | 20 | BT2020.
The conversion function is of the PQ type.
The encoding range is of the Limit type. | | P3_HLG_LIMIT11+ | 21 | Display P3.
The conversion function is of the HLG type.
The encoding range is of the Limit type. | | P3_PQ_LIMIT11+ | 22 | Display P3.
The conversion function is of the PQ type.
The encoding range is of the Limit type. | | LINEAR_P311+ | 23 | Display P3.
The conversion function is of the Linear type. | | LINEAR_SRGB11+ | 24 | SRGB.
The conversion function is of the Linear type. | | LINEAR_BT70911+ | 24 | Same as that of LINEAR_SRGB.
BT709.
The conversion function is of the Linear type. | | LINEAR_BT202011+ | 25 | BT2020.
The conversion function is of the Linear type. | | DISPLAY_SRGB11+ | 4 | Same as that of SRGB.
SRGB.
The conversion function is of the SRGB type.
The encoding range is of the Full type. | | DISPLAY_P3_SRGB11+ | 3 | Same as that of DISPLAY_P3.
Display P3.
The conversion function is of the SRGB type.
The encoding range is of the Full type. | | DISPLAY_P3_HLG11+ | 11 | Same as that of P3_HLG.
Display P3.
The conversion function is of the HLG type.
The encoding range is of the Full type. | | DISPLAY_P3_PQ11+ | 12 | Same as that of P3_PQ.
Display P3.
The conversion function is of the PQ type.
The encoding range is of the Full type. | ## ColorSpacePrimaries Defines the color space primaries. A color space is defined by chromaticity coordinates of the red, green, and blue additive primaries, the white point, and the gamma. **System capability**: SystemCapability.Graphic.Graphic2D.ColorManager.Core | Name | Type | Readable | Writable | Description | | ---------------------------- | -------- | ---- | ---- | ----------------------------------------------------- | | redX | number | Yes | Yes | X coordinate of the red color in the color space. | | redY | number | Yes | Yes | Y coordinate of the red color in the color space. | | greenX | number | Yes | Yes | X coordinate of the green color in the color space. | | greenY | number | Yes | Yes | Y coordinate of the green color in the color space. | | blueX | number | Yes | Yes | X coordinate of the blue color in the color space. | | blueY | number | Yes | Yes | Y coordinate of the blue color in the color space. | | whitePointX | number | Yes | Yes | X coordinate of the white point in the color space. | | whitePointY | number | Yes | Yes | Y coordinate of the white point in the color space. | ## colorSpaceManager.create create(colorSpaceName: ColorSpace): ColorSpaceManager Creates a standard color space object. **System capability**: SystemCapability.Graphic.Graphic2D.ColorManager.Core **Parameters** | Parameter | Type | Mandatory | Description | | --------------- | ------------------------ | ---- | -----------------------------| | colorSpaceName | [ColorSpace](#colorspace)| Yes | Type of the color space.
**UNKNOWN** and **CUSTOM** cannot be used when creating standard color space objects. | **Return value** | Type | Description | | ------------------ | ------------------------ | | [ColorSpaceManager](#colorspacemanager) | Color space object created. | **Error codes** For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [colorSpaceManager Error Codes](errorcode-colorspace-manager.md). | ID | Error Message | | ------- | ----------------------- | | 401 | Parameter error. Possible cause: 1.Incorrect parameter type. 2.Parameter verification failed.| | 18600001 | The parameter value is abnormal. | **Example** ```ts let colorSpace: colorSpaceManager.ColorSpaceManager; try { colorSpace = colorSpaceManager.create(colorSpaceManager.ColorSpace.SRGB); } catch (err) { console.log(`Failed to create SRGB colorSpace. Cause: ` + JSON.stringify(err)); } ``` ## colorSpaceManager.create create(primaries: ColorSpacePrimaries, gamma: number): ColorSpaceManager Creates a custom color space object. **System capability**: SystemCapability.Graphic.Graphic2D.ColorManager.Core **Parameters** | Parameter | Type | Mandatory | Description | | --------------- | ------------------------------------------ | ---- | -----------------------------| | primaries | [ColorSpacePrimaries](#colorspaceprimaries)| Yes | Primaries of the color space. | | gamma | number | Yes | Gamma of the color space. | **Return value** | Type | Description | | ------------------ | ------------------------ | | [ColorSpaceManager](#colorspacemanager) | Color space object created.
The color space type is **CUSTOM** of [ColorSpace](#colorspace). | **Error codes** For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [colorSpaceManager Error Codes](errorcode-colorspace-manager.md). | ID | Error Message | | ------- | ----------------------- | | 401 | Parameter error. Possible cause: 1.Incorrect parameter type. 2.Parameter verification failed.| | 18600001 | The parameter value is abnormal. | **Example** ```ts let colorSpace: colorSpaceManager.ColorSpaceManager; try { let primaries: colorSpaceManager.ColorSpacePrimaries = { redX: 0.1, redY: 0.1, greenX: 0.2, greenY: 0.2, blueX: 0.3, blueY: 0.3, whitePointX: 0.4, whitePointY: 0.4 }; let gamma = 2.2; colorSpace = colorSpaceManager.create(primaries, gamma); } catch (err) { console.log(`Failed to create colorSpace with customized primaries and gamma. Cause: ` + JSON.stringify(err)); } ``` ## ColorSpaceManager Implements management of color space objects. Before calling any of the following APIs, you must use [create()](#colorspacemanagercreate) to create a color space manager. ### getColorSpaceName getColorSpaceName(): ColorSpace Obtains the color space type. **System capability**: SystemCapability.Graphic.Graphic2D.ColorManager.Core **Return value** | Type | Description | | ------------------ | ------------------------ | | [ColorSpace](#colorspace) | Color space type. | **Error codes** For details about the error codes, see [colorSpaceManager Error Codes](errorcode-colorspace-manager.md). | ID | Error Message | | ------- | ----------------------- | | 18600001 | The parameter value is abnormal. | **Example** ```ts try { let spaceName = colorSpace.getColorSpaceName(); } catch (err) { console.log(`Fail to get colorSpace's name. Cause: ` + JSON.stringify(err)); } ``` ### getWhitePoint getWhitePoint(): Array\ Obtains the coordinates of the white point in the color space. **System capability**: SystemCapability.Graphic.Graphic2D.ColorManager.Core **Return value** | Type | Description | | ------------------ | ------------------------ | | Array\ | Coordinates [x, y] of the white point. | **Error codes** For details about the error codes, see [colorSpaceManager Error Codes](errorcode-colorspace-manager.md). | ID | Error Message | | ------- | ----------------------- | | 18600001 | The parameter value is abnormal. | **Example** ```ts try { let point = colorSpace.getWhitePoint(); } catch (err) { console.log(`Failed to get white point. Cause: ` + JSON.stringify(err)); } ``` ### getGamma getGamma(): number Obtains the gamma of the color space. **System capability**: SystemCapability.Graphic.Graphic2D.ColorManager.Core **Return value** | Type | Description | | ------------------ | ------------------------ | | number | Gamma of the color space. | **Error codes** For details about the error codes, see [colorSpaceManager Error Codes](errorcode-colorspace-manager.md). | ID | Error Message | | ------- | ----------------------- | | 18600001 | The parameter value is abnormal. | **Example** ```ts try { let gamma = colorSpace.getGamma(); } catch (err) { console.log(`Failed to get gamma. Cause: ` + JSON.stringify(err)); } ```