1# @ohos.graphics.sendableColorSpaceManager (可共享的色彩管理)
2
3本模块提供管理抽象化色域对象的一些基础能力,包括可共享的色彩管理的创建与可共享的色域基础属性的获取等。
4
5> **说明:**
6>
7> 本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8
9## 导入模块
10
11```ts
12import { sendableColorSpaceManager } from '@kit.ArkGraphics2D';
13```
14
15## ISendable
16type ISendable = lang.ISendable
17
18ISendable是所有Sendable类型(除null和undefined)的父类型。自身没有任何必须的方法和属性。
19
20**系统能力:** SystemCapability.Utils.Lang
21
22| 类型                | 说明                     |
23| ------------------ | ------------------------ |
24| [lang.ISendable](../apis-arkts/js-apis-arkts-lang.md#langisendable)  | 所有Sendable类型的父类型。               |
25
26## sendableColorSpaceManager.create
27
28create(colorSpaceName: colorSpaceManager.ColorSpace): ColorSpaceManager
29
30创建标准可共享的色彩管理。
31
32**系统能力:** SystemCapability.Graphic.Graphic2D.ColorManager.Core
33
34**参数:**
35
36| 参数名           | 类型                     | 必填 | 说明                          |
37| --------------- | ------------------------ | ---- | -----------------------------|
38| colorSpaceName  | [colorSpaceManager.ColorSpace](js-apis-colorSpaceManager.md#colorspace)| 是   | 标准色域类型枚举值。<br>UNKNOWN与CUSTOM不可用于直接创建色域对象。       |
39
40**返回值:**
41
42| 类型                | 说明                     |
43| ------------------ | ------------------------ |
44| [ColorSpaceManager](#colorspacemanager)  | 返回当前创建的可共享的色彩管理实例。<br>该实例继承ISendable,可以在ArkTS并发实例间(包括主线程、TaskPool&Worker工作线程)传递,传递的行为是引用传递,参考[Sendable使用场景](../../arkts-utils/sendable-guide.md)。                 |
45
46**错误码:**
47
48以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[色彩管理错误码](errorcode-colorspace-manager.md)。
49
50| 错误码ID | 错误信息 |
51| ------- | ----------------------- |
52| 401 | Parameter error. Possible cause: 1.Incorrect parameter type. 2.Parameter verification failed.|
53| 18600001 | The parameter value is abnormal. |
54
55**示例:**
56
57```ts
58import { colorSpaceManager } from '@kit.ArkGraphics2D';
59let colorSpace: sendableColorSpaceManager.ColorSpaceManager;
60colorSpace = sendableColorSpaceManager.create(colorSpaceManager.ColorSpace.SRGB);
61```
62
63## sendableColorSpaceManager.create
64
65create(primaries: colorSpaceManager.ColorSpacePrimaries, gamma: number): ColorSpaceManager
66
67创建用户自定义可共享的色彩管理实例。
68
69**系统能力:** SystemCapability.Graphic.Graphic2D.ColorManager.Core
70
71**参数:**
72
73| 参数名           | 类型                                       | 必填 | 说明                          |
74| --------------- | ------------------------------------------ | ---- | -----------------------------|
75| primaries       | [colorSpaceManager.ColorSpacePrimaries](js-apis-colorSpaceManager.md#colorspaceprimaries)| 是   | 色域标准三原色。               |
76| gamma           | number                                     | 是   | 色域gamma值。                 |
77
78**返回值:**
79
80| 类型                | 说明                     |
81| ------------------ | ------------------------ |
82| [ColorSpaceManager](#colorspacemanager)  | 返回当前创建的可共享的色彩管理实例。<br>色域类型定义为[colorSpaceManager.ColorSpace](js-apis-colorSpaceManager.md#colorspace)枚举值`CUSTOM`。<br>该实例继承ISendable,可以在ArkTS并发实例间(包括主线程、TaskPool&Worker工作线程)传递,传递的行为是引用传递,参考[Sendable使用场景](../../arkts-utils/sendable-guide.md)。 |
83
84**错误码:**
85
86以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[色彩管理错误码](errorcode-colorspace-manager.md)。
87
88| 错误码ID | 错误信息 |
89| ------- | ----------------------- |
90| 401 | Parameter error. Possible cause: 1.Incorrect parameter type. 2.Parameter verification failed.|
91| 18600001 | The parameter value is abnormal. |
92
93**示例:**
94
95```ts
96import { colorSpaceManager } from '@kit.ArkGraphics2D';
97let colorSpace: sendableColorSpaceManager.ColorSpaceManager;
98let primaries: colorSpaceManager.ColorSpacePrimaries = {
99  redX: 0.1,
100  redY: 0.1,
101  greenX: 0.2,
102  greenY: 0.2,
103  blueX: 0.3,
104  blueY: 0.3,
105  whitePointX: 0.4,
106  whitePointY: 0.4
107};
108let gamma: number = 2.2;
109colorSpace = sendableColorSpaceManager.create(primaries, gamma);
110```
111
112## ColorSpaceManager
113
114当前可共享的色彩管理实例。
115
116下列API示例中都需先使用[create()](#sendablecolorspacemanagercreate)获取到ColorSpaceManager实例,再通过此实例调用对应方法。
117
118### getColorSpaceName
119
120getColorSpaceName(): colorSpaceManager.ColorSpace
121
122获取色域类型。
123
124**系统能力:** SystemCapability.Graphic.Graphic2D.ColorManager.Core
125
126**返回值:**
127
128| 类型                | 说明                     |
129| ------------------ | ------------------------ |
130| [colorSpaceManager.ColorSpace](js-apis-colorSpaceManager.md#colorspace)  | 返回色域类型枚举值。 |
131
132**错误码:**
133
134以下错误码的详细介绍请参见[色彩管理错误码](errorcode-colorspace-manager.md)。
135
136| 错误码ID | 错误信息 |
137| ------- | ----------------------- |
138| 18600001 | The parameter value is abnormal. |
139
140**示例:**
141
142```ts
143let spaceName: colorSpaceManager.ColorSpace = colorSpace.getColorSpaceName();
144```
145
146### getWhitePoint
147
148getWhitePoint(): collections.Array\<number\>
149
150获取色域白点值。
151
152**系统能力:** SystemCapability.Graphic.Graphic2D.ColorManager.Core
153
154**返回值:**
155
156| 类型                | 说明                     |
157| ------------------ | ------------------------ |
158| [collections.Array\<number\>](../apis-arkts/js-apis-arkts-collections.md#collectionsarray)  | 返回色域白点值[x, y]。 |
159
160**错误码:**
161
162以下错误码的详细介绍请参见[色彩管理错误码](errorcode-colorspace-manager.md)。
163
164| 错误码ID | 错误信息 |
165| ------- | ----------------------- |
166| 18600001 | The parameter value is abnormal. |
167
168**示例:**
169
170```ts
171import { collections } from '@kit.ArkTS';
172let point: collections.Array<number> = colorSpace.getWhitePoint();
173```
174
175### getGamma
176
177getGamma(): number
178
179获取色域gamma值。
180
181**系统能力:** SystemCapability.Graphic.Graphic2D.ColorManager.Core
182
183**返回值:**
184
185| 类型                | 说明                     |
186| ------------------ | ------------------------ |
187| number  | 返回色域gamma值。 |
188
189**错误码:**
190
191以下错误码的详细介绍请参见[色彩管理错误码](errorcode-colorspace-manager.md)。
192
193| 错误码ID | 错误信息 |
194| ------- | ----------------------- |
195| 18600001 | The parameter value is abnormal. |
196
197**示例:**
198
199```ts
200let gamma: number = colorSpace.getGamma();
201```