1# @ohos.graphics.colorSpaceManager (色彩管理) 2 3本模块提供管理抽象化色域对象的一些基础能力,包括色域对象的创建与色域基础属性的获取等。 4 5> **说明:** 6> 7> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11```js 12import colorSpaceManager from '@ohos.graphics.colorSpaceManager'; 13``` 14 15## ColorSpace 16 17色域类型枚举。 18 19**系统能力:** SystemCapability.Graphic.Graphic2D.ColorManager.Core 20 21| 名称 | 值 | 说明 | 22| --------------------------- | ------ | ----------------------- | 23| UNKNOWN | 0 | 未知的色域类型。| 24| ADOBE_RGB_1998 | 1 | RGB色域为Adobe RGB(1998)类型。 | 25| DCI_P3 | 2 | RGB色域为DCI-P3类型。| 26| DISPLAY_P3 | 3 | RGB色域为Display P3类型。 | 27| SRGB | 4 | RGB色域为SRGB类型。<br>系统默认色域类型。 | 28| CUSTOM | 5 | 用户自定义色域类型。| 29 30## ColorSpacePrimaries 31 32色域标准三原色(红、绿、蓝)和白色,使用(x, y)表示其在色彩空间中的位置。 33 34**系统能力:** SystemCapability.Graphic.Graphic2D.ColorManager.Core 35 36| 名称 | 类型 | 可读 | 可写 | 说明 | 37| ---------------------------- | -------- | ---- | ---- | ----------------------------------------------------- | 38| redX | number | 是 | 是 | 标准红色在色彩空间的x坐标值。 | 39| redY | number | 是 | 是 | 标准红色在色彩空间的y坐标值。 | 40| greenX | number | 是 | 是 | 标准绿色在色彩空间的x坐标值。 | 41| greenY | number | 是 | 是 | 标准绿色在色彩空间的y坐标值。 | 42| blueX | number | 是 | 是 | 标准蓝色在色彩空间的x坐标值。 | 43| blueY | number | 是 | 是 | 标准蓝色在色彩空间的y坐标值。 | 44| whitePointX | number | 是 | 是 | 标准白色在色彩空间的x坐标值。 | 45| whitePointY | number | 是 | 是 | 标准白色在色彩空间的y坐标值。 | 46 47## colorSpaceManager.create 48 49create(colorSpaceName: ColorSpace): ColorSpaceManager 50 51创建标准色域对象。 52 53**系统能力:** SystemCapability.Graphic.Graphic2D.ColorManager.Core 54 55**参数:** 56 57| 参数名 | 类型 | 必填 | 说明 | 58| --------------- | ------------------------ | ---- | -----------------------------| 59| colorSpaceName | [ColorSpace](#colorspace)| 是 | 标准色域类型枚举值。<br>UNKNOWN与CUSTOM不可用于直接创建色域对象。 | 60 61**返回值:** 62 63| 类型 | 说明 | 64| ------------------ | ------------------------ | 65| [ColorSpaceManager](#colorspacemanager) | 返回当前创建的色域对象实例。 | 66 67**错误码:** 68 69以下错误码的详细介绍请参见[色彩管理错误码](../errorcodes/errorcode-colorspace-manager.md)。 70 71| 错误码ID | 错误信息 | 72| ------- | ----------------------- | 73| 18600001 | Parameter value is abnormal. | 74 75**示例:** 76 77```js 78let colorSpace = null; 79try { 80 colorSpace = colorSpaceManager.create(colorSpaceManager.ColorSpace.SRGB); 81} catch (err) { 82 console.log(`Failed to create SRGB colorSpace. Cause: ` + JSON.stringify(err)); 83} 84``` 85 86## colorSpaceManager.create 87 88create(primaries: ColorSpacePrimaries, gamma: number): ColorSpaceManager 89 90创建用户自定义色域对象。 91 92**系统能力:** SystemCapability.Graphic.Graphic2D.ColorManager.Core 93 94**参数:** 95 96| 参数名 | 类型 | 必填 | 说明 | 97| --------------- | ------------------------------------------ | ---- | -----------------------------| 98| primaries | [ColorSpacePrimaries](#colorspaceprimaries)| 是 | 色域标准三原色。 | 99| gamma | number | 是 | 色域gamma值。 | 100 101**返回值:** 102 103| 类型 | 说明 | 104| ------------------ | ------------------------ | 105| [ColorSpaceManager](#colorspacemanager) | 返回当前创建的色域对象实例。<br>色域类型定义为[ColorSpace](#colorspace)枚举值`CUSTOM`。 | 106 107**错误码:** 108 109以下错误码的详细介绍请参见[色彩管理错误码](../errorcodes/errorcode-colorspace-manager.md)。 110 111| 错误码ID | 错误信息 | 112| ------- | ----------------------- | 113| 18600001 | Parameter value is abnormal. | 114 115**示例:** 116 117```js 118let colorSpace = null; 119try { 120 let primaries = { 121 redX: 0.1, 122 redY: 0.1, 123 greenX: 0.2, 124 greenY: 0.2, 125 blueX: 0.3, 126 blueY: 0.3, 127 whitePointX: 0.4, 128 whitePointY: 0.4 129 }; 130 let gamma = 2.2; 131 colorSpace = colorSpaceManager.create(primaries, gamma); 132} catch (err) { 133 console.log(`Failed to create colorSpace with customized primaries and gamma. Cause: ` + JSON.stringify(err)); 134} 135``` 136 137## ColorSpaceManager 138 139当前色域对象实例。 140 141下列API示例中都需先使用[create()](#colorspacemanagercreate)获取到ColorSpaceManager实例(i.e. `colorSpace`),再通过此实例调用对应方法。 142 143### getColorSpaceName 144 145getColorSpaceName(): ColorSpace 146 147获取色域类型。 148 149**系统能力:** SystemCapability.Graphic.Graphic2D.ColorManager.Core 150 151**返回值:** 152 153| 类型 | 说明 | 154| ------------------ | ------------------------ | 155| [ColorSpace](#colorspace) | 返回色域类型枚举值。 | 156 157**错误码:** 158 159以下错误码的详细介绍请参见[色彩管理错误码](../errorcodes/errorcode-colorspace-manager.md)。 160 161| 错误码ID | 错误信息 | 162| ------- | ----------------------- | 163| 18600001 | Parameter value is abnormal. | 164 165**示例:** 166 167```js 168try { 169 colorSpace.getColorSpaceName(); 170} catch (err) { 171 console.log(`Fail to get colorSpace's name. Cause: ` + JSON.stringify(err)); 172} 173``` 174 175### getWhitePoint 176 177getWhitePoint(): Array\<number\> 178 179获取色域白点值。 180 181**系统能力:** SystemCapability.Graphic.Graphic2D.ColorManager.Core 182 183**返回值:** 184 185| 类型 | 说明 | 186| ------------------ | ------------------------ | 187| Array\<number\> | 返回色域白点值[x, y]。 | 188 189**错误码:** 190 191以下错误码的详细介绍请参见[色彩管理错误码](../errorcodes/errorcode-colorspace-manager.md)。 192 193| 错误码ID | 错误信息 | 194| ------- | ----------------------- | 195| 18600001 | Parameter value is abnormal. | 196 197**示例:** 198 199```js 200try { 201 colorSpace.getWhitePoint(); 202} catch (err) { 203 console.log(`Failed to get white point. Cause: ` + JSON.stringify(err)); 204} 205``` 206 207### getGamma 208 209getGamma(): number 210 211获取色域gamma值。 212 213**系统能力:** SystemCapability.Graphic.Graphic2D.ColorManager.Core 214 215**返回值:** 216 217| 类型 | 说明 | 218| ------------------ | ------------------------ | 219| number | 返回色域gamma值。 | 220 221**错误码:** 222 223以下错误码的详细介绍请参见[色彩管理错误码](../errorcodes/errorcode-colorspace-manager.md)。 224 225| 错误码ID | 错误信息 | 226| ------- | ----------------------- | 227| 18600001 | Parameter value is abnormal. | 228 229**示例:** 230 231```js 232try { 233 colorSpace.getGamma(); 234} catch (err) { 235 console.log(`Failed to get gamma. Cause: ` + JSON.stringify(err)); 236} 237```