TXBeautyManager.h
9.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
/*
* Module: 美颜与图像处理参数设置类
*
* Function: 修改美颜、滤镜、绿幕等参数
*
*/
#import <Foundation/Foundation.h>
#import <TargetConditionals.h>
#if TARGET_OS_IPHONE
#import <UIKit/UIKit.h>
typedef UIImage TXImage;
#else
#import <AppKit/AppKit.h>
typedef NSImage TXImage;
#endif
NS_ASSUME_NONNULL_BEGIN
/// @defgroup TXBeautyManager_ios TXBeautyManager
/// 美颜及动效参数管理
/// @{
/**
* 美颜(磨皮)算法
* SDK 内置了多种不同的磨皮算法,您可以选择最适合您产品定位的方案。
*/
typedef NS_ENUM(NSInteger, TXBeautyStyle) {
TXBeautyStyleSmooth = 0, ///< 光滑,适用于美女秀场,效果比较明显。
TXBeautyStyleNature = 1, ///< 自然,磨皮算法更多地保留了面部细节,主观感受上会更加自然。
TXBeautyStylePitu = 2 ///< 由上海优图实验室提供的美颜算法,磨皮效果介于光滑和自然之间,比光滑保留更多皮肤细节,比自然磨皮程度更高。
};
/// 美颜及动效参数管理
@interface TXBeautyManager : NSObject
/**
* 设置美颜(磨皮)算法
*
* SDK 内部集成了两套风格不同的磨皮算法,一套我们取名叫“光滑”,适用于美女秀场,效果比较明显。
* 另一套我们取名“自然”,磨皮算法更多地保留了面部细节,主观感受上会更加自然。
*
* @param beautyStyle 美颜风格,光滑或者自然,光滑风格磨皮更加明显,适合娱乐场景。
*/
- (void)setBeautyStyle:(TXBeautyStyle)beautyStyle;
/**
* 设置美颜级别
* @param level 美颜级别,取值范围0 - 9; 0表示关闭,1 - 9值越大,效果越明显。
*/
- (void)setBeautyLevel:(float)level;
/**
* 设置美白级别
*
* @param level 美白级别,取值范围0 - 9;0表示关闭,1 - 9值越大,效果越明显。
*/
- (void)setWhitenessLevel:(float)level;
/**
* 开启清晰度增强
*
* @param enable YES:开启清晰度增强;NO:关闭清晰度增强。默认值:YES
*/
- (void)enableSharpnessEnhancement:(BOOL)enable;
/**
* 设置红润级别
*
* @param level 红润级别,取值范围0 - 9;0表示关闭,1 - 9值越大,效果越明显。
*/
- (void)setRuddyLevel:(float)level;
/**
* 设置指定素材滤镜特效
*
* @param image 指定素材,即颜色查找表图片。**必须使用 png 格式**
*/
- (void)setFilter:(nullable TXImage *)image;
/**
* 设置滤镜浓度
*
* 在美女秀场等应用场景里,滤镜浓度的要求会比较高,以便更加突显主播的差异。
* 我们默认的滤镜浓度是0.5,如果您觉得滤镜效果不明显,可以使用下面的接口进行调节。
*
* @param strength 从0到1,越大滤镜效果越明显,默认值为0.5。
*/
- (void)setFilterStrength:(float)strength;
/**
* 设置绿幕背景视频,该接口仅在 [企业版 SDK](https://cloud.tencent.com/document/product/647/32689#Enterprise) 中生效
*
* 此处的绿幕功能并非智能抠背,需要被拍摄者的背后有一块绿色的幕布来辅助产生特效
*
* @param file 视频文件路径。支持 MP4; nil 表示关闭特效。
*/
- (void)setGreenScreenFile:(nullable NSString *)file;
#if TARGET_OS_IPHONE
/**
* 设置大眼级别,该接口仅在 [企业版 SDK](https://cloud.tencent.com/document/product/647/32689#Enterprise) 中生效
*
* @param level 大眼级别,取值范围0 - 9;0表示关闭,1 - 9值越大,效果越明显。
*/
- (void)setEyeScaleLevel:(float)level;
/**
* 设置瘦脸级别,该接口仅在 [企业版 SDK](https://cloud.tencent.com/document/product/647/32689#Enterprise) 中生效
*
* @param level 瘦脸级别,取值范围0 - 9;0表示关闭,1 - 9值越大,效果越明显。
*/
- (void)setFaceSlimLevel:(float)level;
/**
*设置 V 脸级别,该接口仅在 [企业版 SDK](https://cloud.tencent.com/document/product/647/32689#Enterprise) 中生效
*
* @param level V脸级别,取值范围0 - 9;0表示关闭,1 - 9值越大,效果越明显。
*/
- (void)setFaceVLevel:(float)level;
/**
* 设置下巴拉伸或收缩,该接口仅在 [企业版 SDK](https://cloud.tencent.com/document/product/647/32689#Enterprise) 中生效
*
* @param level 下巴拉伸或收缩级别,取值范围-9 - 9;0 表示关闭,小于0表示收缩,大于0表示拉伸。
*/
- (void)setChinLevel:(float)level;
/**
* 设置短脸级别,该接口仅在 [企业版 SDK](https://cloud.tencent.com/document/product/647/32689#Enterprise) 中生效
*
* @param level 短脸级别,取值范围0 - 9;0表示关闭,1 - 9值越大,效果越明显。
*/
- (void)setFaceShortLevel:(float)level;
/**
* 设置窄脸级别,该接口仅在 [企业版 SDK](https://cloud.tencent.com/document/product/647/32689#Enterprise) 中生效
*
* @param level 短脸级别,取值范围0 - 9;0表示关闭,1 - 9值越大,效果越明显。
*/
- (void)setFaceNarrowLevel:(float)level;
/**
* 设置瘦鼻级别,该接口仅在 [企业版 SDK](https://cloud.tencent.com/document/product/647/32689#Enterprise) 中生效
*
* @param level 瘦鼻级别,取值范围0 - 9;0表示关闭,1 - 9值越大,效果越明显。
*/
- (void)setNoseSlimLevel:(float)level;
/**
* 设置亮眼 ,该接口仅在 [企业版 SDK](https://cloud.tencent.com/document/product/647/32689#Enterprise) 中生效
*
* @param level 亮眼级别,取值范围0 - 9;0表示关闭,1 - 9值越大,效果越明显。
*/
- (void)setEyeLightenLevel:(float)level;
/**
* 设置白牙 ,该接口仅在 [企业版 SDK](https://cloud.tencent.com/document/product/647/32689#Enterprise) 中生效
*
* @param level 白牙级别,取值范围0 - 9;0表示关闭,1 - 9值越大,效果越明显。
*/
- (void)setToothWhitenLevel:(float)level;
/**
* 设置祛皱 ,该接口仅在 [企业版 SDK](https://cloud.tencent.com/document/product/647/32689#Enterprise) 中生效
*
* @param level 祛皱级别,取值范围0 - 9;0表示关闭,1 - 9值越大,效果越明显。
*/
- (void)setWrinkleRemoveLevel:(float)level;
/**
* 设置祛眼袋 ,该接口仅在 [企业版 SDK](https://cloud.tencent.com/document/product/647/32689#Enterprise) 中生效
*
* @param level 祛眼袋级别,取值范围0 - 9;0表示关闭,1 - 9值越大,效果越明显。
*/
- (void)setPounchRemoveLevel:(float)level;
/**
* 设置法令纹 ,该接口仅在 [企业版 SDK](https://cloud.tencent.com/document/product/647/32689#Enterprise) 中生效
*
* @param level 法令纹级别,取值范围0 - 9;0表示关闭,1 - 9值越大,效果越明显。
*/
- (void)setSmileLinesRemoveLevel:(float)level;
/**
* 设置发际线 ,该接口仅在 [企业版 SDK](https://cloud.tencent.com/document/product/647/32689#Enterprise) 中生效
*
* @param level 发际线级别,取值范围-9 - 9;0表示关闭,小于0表示抬高,大于0表示降低。
*/
- (void)setForeheadLevel:(float)level;
/**
* 设置眼距 ,该接口仅在 [企业版 SDK](https://cloud.tencent.com/document/product/647/32689#Enterprise) 中生效
*
* @param level 眼距级别,取值范围-9 - 9;0表示关闭,小于0表示拉伸,大于0表示收缩。
*/
- (void)setEyeDistanceLevel:(float)level;
/**
* 设置眼角 ,该接口仅在 [企业版 SDK](https://cloud.tencent.com/document/product/647/32689#Enterprise) 中生效
*
* @param level 眼角级别,取值范围-9 - 9;0表示关闭,小于0表示降低,大于0表示抬高。
*/
- (void)setEyeAngleLevel:(float)level;
/**
* 设置嘴型 ,该接口仅在 [企业版 SDK](https://cloud.tencent.com/document/product/647/32689#Enterprise) 中生效
*
* @param level 嘴型级别,取值范围-9 - 9;0表示关闭,小于0表示拉伸,大于0表示收缩。
*/
- (void)setMouthShapeLevel:(float)level;
/**
* 设置鼻翼 ,该接口仅在 [企业版 SDK](https://cloud.tencent.com/document/product/647/32689#Enterprise) 中生效
*
* @param level 鼻翼级别,取值范围-9 - 9;0表示关闭,小于0表示拉伸,大于0表示收缩。
*/
- (void)setNoseWingLevel:(float)level;
/**
* 设置鼻子位置 ,该接口仅在 [企业版 SDK](https://cloud.tencent.com/document/product/647/32689#Enterprise) 中生效
* @param level 鼻子位置级别,取值范围-9 - 9;0表示关闭,小于0表示抬高,大于0表示降低。
*/
- (void)setNosePositionLevel:(float)level;
/**
* 设置嘴唇厚度 ,该接口仅在 [企业版 SDK](https://cloud.tencent.com/document/product/647/32689#Enterprise) 中生效
* @param level 嘴唇厚度级别,取值范围-9 - 9;0表示关闭,小于0表示拉伸,大于0表示收缩。
*/
- (void)setLipsThicknessLevel:(float)level;
/**
* 设置脸型,该接口仅在 [企业版 SDK](https://cloud.tencent.com/document/product/647/32689#Enterprise) 中生效
* @param level 美型级别,取值范围0 - 9;0表示关闭,1 - 9值越大,效果越明显。
*/
- (void)setFaceBeautyLevel:(float)level;
/**
* 选择 AI 动效挂件,该接口仅在 [企业版 SDK](https://cloud.tencent.com/document/product/647/32689#Enterprise) 中生效
*
* @param tmplName 动效名称
* @param tmplDir 动效所在目录
*/
- (void)setMotionTmpl:(nullable NSString *)tmplName inDir:(nullable NSString *)tmplDir;
/**
* 设置动效静音,该接口仅在 [企业版 SDK](https://cloud.tencent.com/document/product/647/32689#Enterprise) 中生效
*
* 有些挂件本身会有声音特效,通过此 API 可以关闭这些特效播放时所带的声音效果。
*
* @param motionMute YES:静音;NO:不静音。
*/
- (void)setMotionMute:(BOOL)motionMute;
#endif
@end
/// @}
NS_ASSUME_NONNULL_END