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