• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Interface (WhiteBalance)
2<!--Kit: Camera Kit-->
3<!--Subsystem: Multimedia-->
4<!--Owner: @qano-->
5<!--Designer: @leo_ysl-->
6<!--Tester: @xchaosioda-->
7<!--Adviser: @zengyawen-->
8
9> **说明:**
10>
11> - 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
12> - 本Interface首批接口从API version 20开始支持。
13
14WhiteBalance 继承自 [WhiteBalanceQuery](arkts-apis-camera-WhiteBalanceQuery.md)。
15
16提供了处理设备白平衡的相关功能,包括获取和设置白平衡模式以及白平衡值。
17
18## 导入模块
19
20```ts
21import { camera } from '@kit.CameraKit';
22```
23
24## setWhiteBalanceMode<sup>20+</sup>
25
26setWhiteBalanceMode(mode: WhiteBalanceMode): void
27
28设置白平衡模式。设置之前需要先检查设备是否支持指定的白平衡模式,具体方法请参考[isWhiteBalanceModeSupported](arkts-apis-camera-WhiteBalanceQuery.md#iswhitebalancemodesupported20)。
29
30**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。
31
32**系统能力:** SystemCapability.Multimedia.Camera.Core
33
34**参数:**
35
36| 参数名      | 类型                                      | 必填 | 说明                    |
37| -------- |-----------------------------------------| ---- | ----------------------- |
38| mode   | [WhiteBalanceMode](arkts-apis-camera-e.md#whitebalancemode20) | 是   | 白平衡模式。                |
39
40**错误码:**
41
42以下错误码的详细介绍请参见[Camera错误码](errorcode-camera.md)。
43
44| 错误码ID         | 错误信息        |
45| --------------- | --------------- |
46| 7400101                |  Parameter missing or parameter type incorrect.        |
47| 7400103                |  Session not config.                                   |
48
49**示例:**
50
51```ts
52import { BusinessError } from '@kit.BasicServicesKit';
53
54function setWhiteBalanceMode(session: camera.PhotoSession | camera.VideoSession): void {
55  try {
56    session.setWhiteBalanceMode(camera.WhiteBalanceMode.DAYLIGHT);
57  } catch (error) {
58    let err = error as BusinessError;
59    console.error(`The setWhiteBalanceMode call failed. error code: ${err.code}`);
60  }
61}
62```
63
64## getWhiteBalanceMode<sup>20+</sup>
65
66getWhiteBalanceMode(): WhiteBalanceMode
67
68获取当前白平衡模式。
69
70**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。
71
72**系统能力:** SystemCapability.Multimedia.Camera.Core
73
74**返回值:**
75
76| 类型                                      | 说明                          |
77|-----------------------------------------| ----------------------------- |
78| [WhiteBalanceMode](arkts-apis-camera-e.md#whitebalancemode20) | 获取当前白平衡模式。 |
79
80**错误码:**
81
82以下错误码的详细介绍请参见[Camera错误码](errorcode-camera.md)。
83
84| 错误码ID         | 错误信息        |
85| --------------- | --------------- |
86| 7400103                |  Session not config.                                   |
87
88**示例:**
89
90```ts
91import { BusinessError } from '@kit.BasicServicesKit';
92
93function getWhiteBalanceMode(session: camera.PhotoSession | camera.VideoSession): camera.WhiteBalanceMode | undefined {
94  let whiteBalanceMode: camera.WhiteBalanceMode | undefined = undefined;
95  try {
96    whiteBalanceMode = session.getWhiteBalanceMode();
97  } catch (error) {
98    let err = error as BusinessError;
99    console.error(`The getWhiteBalanceMode call failed. error code: ${err.code}`);
100  }
101  return whiteBalanceMode;
102}
103```
104
105## setWhiteBalance<sup>20+</sup>
106
107setWhiteBalance(whiteBalance: number): void
108
109设置手动白平衡值。
110设置之前需要先检查设备支持的白平衡值范围,具体方法请参考[getWhiteBalanceRange](arkts-apis-camera-WhiteBalanceQuery.md#getwhitebalancerange20)。
111
112**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。
113
114**系统能力:** SystemCapability.Multimedia.Camera.Core
115
116**参数:**
117
118| 参数名      | 类型                     | 必填 | 说明                 |
119| -------- | ----------------------- | ---- | ------------------- |
120| whiteBalance | number | 是   | 设置手动白平衡值。 |
121
122**错误码:**
123
124以下错误码的详细介绍请参见[Camera错误码](errorcode-camera.md)。
125
126| 错误码ID         | 错误信息        |
127| --------------- | --------------- |
128| 7400101                |  Parameter missing or parameter type incorrect.        |
129| 7400103                |  Session not config.                                   |
130
131**示例:**
132
133```ts
134import { BusinessError } from '@kit.BasicServicesKit';
135
136function setWhiteBalance(session: camera.PhotoSession | camera.VideoSession): void {
137  try {
138    let whiteBalance: number = 1000;
139    session.setWhiteBalance(whiteBalance);
140  } catch (error) {
141    let err = error as BusinessError;
142    console.error(`The setWhiteBalance call failed. error code: ${err.code}`);
143  }
144}
145```
146
147## getWhiteBalance<sup>20+</sup>
148
149getWhiteBalance(): number
150
151获取当前手动白平衡的值。
152
153**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。
154
155**系统能力:** SystemCapability.Multimedia.Camera.Core
156
157**返回值:**
158
159| 类型        | 说明                          |
160| ---------- | ----------------------------- |
161| number    | 返回当前白平衡值。 |
162
163**错误码:**
164
165以下错误码的详细介绍请参见[Camera错误码](errorcode-camera.md)。
166
167| 错误码ID         | 错误信息        |
168| --------------- | --------------- |
169| 7400103                |  Session not config.                                   |
170
171**示例:**
172
173```ts
174import { BusinessError } from '@kit.BasicServicesKit';
175
176function getWhiteBalance(session: camera.PhotoSession | camera.VideoSession): number {
177  let whiteBalance: number = 0;
178  try {
179    whiteBalance = session.getWhiteBalance();
180  } catch (error) {
181    let err = error as BusinessError;
182    console.error(`The getWhiteBalance call failed. error code: ${err.code}`);
183  }
184  return whiteBalance;
185}
186```
187