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| H_LOG<sup>18+</sup> | 26 | RGB色域为BT2020类型。<br>转换函数为LOG类型。 | 53| DISPLAY_SRGB<sup>11+</sup> | 4 | 与SRGB相同。<br>RGB色域为SRGB类型。<br>转换函数为SRGB类型。<br>编码范围为Full类型。 | 54| DISPLAY_P3_SRGB<sup>11+</sup> | 3 | 与DISPLAY_P3相同。<br>RGB色域为Display P3类型。<br>转换函数为SRGB类型。<br>编码范围为Full类型。 | 55| DISPLAY_P3_HLG<sup>11+</sup> | 11 | 与P3_HLG相同。<br>RGB色域为Display P3类型。<br>转换函数为HLG类型。<br>编码范围为Full类型。 | 56| DISPLAY_P3_PQ<sup>11+</sup> | 12 | 与P3_PQ相同。<br>RGB色域为Display P3类型。<br>转换函数为PQ类型。<br>编码范围为Full类型。 | 57 58## ColorSpacePrimaries 59 60色域标准三原色(红、绿、蓝)和白色,使用(x, y)表示其在色彩空间中的位置。 61 62**系统能力:** SystemCapability.Graphic.Graphic2D.ColorManager.Core 63 64| 名称 | 类型 | 可读 | 可写 | 说明 | 65| ---------------------------- | -------- | ---- | ---- | ----------------------------------------------------- | 66| redX | number | 是 | 是 | 标准红色在色彩空间的x坐标值。 | 67| redY | number | 是 | 是 | 标准红色在色彩空间的y坐标值。 | 68| greenX | number | 是 | 是 | 标准绿色在色彩空间的x坐标值。 | 69| greenY | number | 是 | 是 | 标准绿色在色彩空间的y坐标值。 | 70| blueX | number | 是 | 是 | 标准蓝色在色彩空间的x坐标值。 | 71| blueY | number | 是 | 是 | 标准蓝色在色彩空间的y坐标值。 | 72| whitePointX | number | 是 | 是 | 标准白色在色彩空间的x坐标值。 | 73| whitePointY | number | 是 | 是 | 标准白色在色彩空间的y坐标值。 | 74 75## colorSpaceManager.create 76 77create(colorSpaceName: ColorSpace): ColorSpaceManager 78 79创建标准色域对象。 80 81**系统能力:** SystemCapability.Graphic.Graphic2D.ColorManager.Core 82 83**参数:** 84 85| 参数名 | 类型 | 必填 | 说明 | 86| --------------- | ------------------------ | ---- | -----------------------------| 87| colorSpaceName | [ColorSpace](#colorspace)| 是 | 标准色域类型枚举值。<br>UNKNOWN与CUSTOM不可用于直接创建色域对象。 | 88 89**返回值:** 90 91| 类型 | 说明 | 92| ------------------ | ------------------------ | 93| [ColorSpaceManager](#colorspacemanager) | 返回当前创建的色域对象实例。 | 94 95**错误码:** 96 97以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[色彩管理错误码](errorcode-colorspace-manager.md)。 98 99| 错误码ID | 错误信息 | 100| ------- | ----------------------- | 101| 401 | Parameter error. Possible cause: 1.Incorrect parameter type. 2.Parameter verification failed.| 102| 18600001 | The parameter value is abnormal. | 103 104**示例:** 105 106```ts 107let colorSpace: colorSpaceManager.ColorSpaceManager; 108try { 109 colorSpace = colorSpaceManager.create(colorSpaceManager.ColorSpace.SRGB); 110} catch (err) { 111 console.log(`Failed to create SRGB colorSpace. Cause: ` + JSON.stringify(err)); 112} 113``` 114 115## colorSpaceManager.create 116 117create(primaries: ColorSpacePrimaries, gamma: number): ColorSpaceManager 118 119创建用户自定义色域对象。 120 121**系统能力:** SystemCapability.Graphic.Graphic2D.ColorManager.Core 122 123**参数:** 124 125| 参数名 | 类型 | 必填 | 说明 | 126| --------------- | ------------------------------------------ | ---- | -----------------------------| 127| primaries | [ColorSpacePrimaries](#colorspaceprimaries)| 是 | 色域标准三原色。 | 128| gamma | number | 是 | 色域gamma值。 | 129 130**返回值:** 131 132| 类型 | 说明 | 133| ------------------ | ------------------------ | 134| [ColorSpaceManager](#colorspacemanager) | 返回当前创建的色域对象实例。<br>色域类型定义为[ColorSpace](#colorspace)枚举值`CUSTOM`。 | 135 136**错误码:** 137 138以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[色彩管理错误码](errorcode-colorspace-manager.md)。 139 140| 错误码ID | 错误信息 | 141| ------- | ----------------------- | 142| 401 | Parameter error. Possible cause: 1.Incorrect parameter type. 2.Parameter verification failed.| 143| 18600001 | The parameter value is abnormal. | 144 145**示例:** 146 147```ts 148let colorSpace: colorSpaceManager.ColorSpaceManager; 149try { 150 let primaries: colorSpaceManager.ColorSpacePrimaries = { 151 redX: 0.1, 152 redY: 0.1, 153 greenX: 0.2, 154 greenY: 0.2, 155 blueX: 0.3, 156 blueY: 0.3, 157 whitePointX: 0.4, 158 whitePointY: 0.4 159 }; 160 let gamma = 2.2; 161 colorSpace = colorSpaceManager.create(primaries, gamma); 162} catch (err) { 163 console.log(`Failed to create colorSpace with customized primaries and gamma. Cause: ` + JSON.stringify(err)); 164} 165``` 166 167## ColorSpaceManager 168 169当前色域对象实例。 170 171下列API示例中都需先使用[create()](#colorspacemanagercreate)获取到ColorSpaceManager实例,再通过此实例调用对应方法。 172 173### getColorSpaceName 174 175getColorSpaceName(): ColorSpace 176 177获取色域类型。 178 179**系统能力:** SystemCapability.Graphic.Graphic2D.ColorManager.Core 180 181**返回值:** 182 183| 类型 | 说明 | 184| ------------------ | ------------------------ | 185| [ColorSpace](#colorspace) | 返回色域类型枚举值。 | 186 187**错误码:** 188 189以下错误码的详细介绍请参见[色彩管理错误码](errorcode-colorspace-manager.md)。 190 191| 错误码ID | 错误信息 | 192| ------- | ----------------------- | 193| 18600001 | The parameter value is abnormal. | 194 195**示例:** 196 197```ts 198try { 199 let spaceName = colorSpace.getColorSpaceName(); 200} catch (err) { 201 console.log(`Fail to get colorSpace's name. Cause: ` + JSON.stringify(err)); 202} 203``` 204 205### getWhitePoint 206 207getWhitePoint(): Array\<number\> 208 209获取色域白点值。 210 211**系统能力:** SystemCapability.Graphic.Graphic2D.ColorManager.Core 212 213**返回值:** 214 215| 类型 | 说明 | 216| ------------------ | ------------------------ | 217| Array\<number\> | 返回色域白点值[x, y]。 | 218 219**错误码:** 220 221以下错误码的详细介绍请参见[色彩管理错误码](errorcode-colorspace-manager.md)。 222 223| 错误码ID | 错误信息 | 224| ------- | ----------------------- | 225| 18600001 | The parameter value is abnormal. | 226 227**示例:** 228 229```ts 230try { 231 let point = colorSpace.getWhitePoint(); 232} catch (err) { 233 console.log(`Failed to get white point. Cause: ` + JSON.stringify(err)); 234} 235``` 236 237### getGamma 238 239getGamma(): number 240 241获取色域gamma值。 242 243**系统能力:** SystemCapability.Graphic.Graphic2D.ColorManager.Core 244 245**返回值:** 246 247| 类型 | 说明 | 248| ------------------ | ------------------------ | 249| number | 返回色域gamma值。 | 250 251**错误码:** 252 253以下错误码的详细介绍请参见[色彩管理错误码](errorcode-colorspace-manager.md)。 254 255| 错误码ID | 错误信息 | 256| ------- | ----------------------- | 257| 18600001 | The parameter value is abnormal. | 258 259**示例:** 260 261```ts 262try { 263 let gamma = colorSpace.getGamma(); 264} catch (err) { 265 console.log(`Failed to get gamma. Cause: ` + JSON.stringify(err)); 266} 267```