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