• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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```