1# EffectKit
2
3
4## 概述
5
6提供处理图像的一些基础能力,包括对当前图像的亮度调节、模糊化、灰度调节等。
7
8**起始版本:** 12
9
10
11## 汇总
12
13
14### 文件
15
16| 名称 | 描述 |
17| -------- | -------- |
18| [effect_filter.h](effect__filter_8h.md) | 声明滤镜效果的接口。 |
19| [effect_types.h](effect__types_8h.md) | 声明滤镜效果的数据类型。 |
20
21
22### 结构体
23
24| 名称 | 描述 |
25| -------- | -------- |
26| struct  [OH_Filter](_o_h___filter.md) | 滤镜结构体,用来生成滤镜位图。 |
27| struct  [OH_Filter_ColorMatrix](_o_h___filter___color_matrix.md) | 定义一个用来创建滤镜效果的矩阵。 |
28
29
30### 类型定义
31
32| 名称 | 描述 |
33| -------- | -------- |
34| typedef struct [OH_Filter](_o_h___filter.md)  [pixelMap](#pixelmap) | 滤镜结构体,用来生成滤镜位图。 |
35| typedef enum [EffectErrorCode](#effecterrorcode)  [EffectErrorCode](#effecterrorcode) | 定义滤镜效果的状态码。 |
36
37
38### 枚举
39
40| 名称 | 描述 |
41| -------- | -------- |
42| [EffectErrorCode](#effecterrorcode) { EFFECT_SUCCESS = 0, EFFECT_BAD_PARAMETER = 401, EFFECT_UNSUPPORTED_OPERATION = 7600201, EFFECT_UNKNOWN_ERROR = 7600901 } | 定义滤镜效果的状态码。 |
43| [EffectTileMode](#effecttilemode) { CLAMP = 0, REPEAT, MIRROR, DECAL } | 定义着色器效果平铺模式的枚举。 |
44
45### 函数
46
47| 名称 | 描述 |
48| -------- | -------- |
49| [EffectErrorCode](#effecterrorcode) [OH_Filter_CreateEffect](#oh_filter_createeffect) (OH_PixelmapNative \*pixelmap, [OH_Filter](_o_h___filter.md) \*\*filter) | 创建一个OH_Filter对象。 |
50| [EffectErrorCode](#effecterrorcode) [OH_Filter_Release](#oh_filter_release) ([OH_Filter](_o_h___filter.md) \*filter) | 释放OH_Filter对象。 |
51| [EffectErrorCode](#effecterrorcode) [OH_Filter_Blur](#oh_filter_blur) ([OH_Filter](_o_h___filter.md) \*filter, float radius) | 创建一个毛玻璃滤镜效果,然后添加到滤镜里面。 |
52| [EffectErrorCode](#effecterrorcode) [OH_Filter_BlurWithTileMode](#oh_filter_blurwithtilemode) ([OH_Filter](_o_h___filter.md) \*filter, float radius, [EffectTileMode](#effecttilemode) tileMode) | 创建一个毛玻璃滤镜效果,然后添加到滤镜里面。 |
53| [EffectErrorCode](#effecterrorcode) [OH_Filter_Brighten](#oh_filter_brighten) ([OH_Filter](_o_h___filter.md) \*filter, float brightness) | 创建一个提亮效果并且添加到滤镜中。 |
54| [EffectErrorCode](#effecterrorcode) [OH_Filter_GrayScale](#oh_filter_grayscale) ([OH_Filter](_o_h___filter.md) \*filter) | 创建一个灰度效果并且添加到滤镜中。 |
55| [EffectErrorCode](#effecterrorcode) [OH_Filter_Invert](#oh_filter_invert) ([OH_Filter](_o_h___filter.md) \*filter) | 创建一个反色效果并且添加到滤镜中。 |
56| [EffectErrorCode](#effecterrorcode) [OH_Filter_SetColorMatrix](#oh_filter_setcolormatrix) ([OH_Filter](_o_h___filter.md) \*filter, [OH_Filter_ColorMatrix](_o_h___filter___color_matrix.md) \*matrix) | 通过矩阵创建一个自定义的效果并且添加到滤镜中。 |
57| [EffectErrorCode](#effecterrorcode) [OH_Filter_GetEffectPixelMap](#oh_filter_geteffectpixelmap) ([OH_Filter](_o_h___filter.md) \*filter, OH_PixelmapNative \*\*pixelmap) | 获取滤镜生成的位图。 |
58
59
60## 类型定义说明
61
62
63### EffectErrorCode
64
65```
66typedef enum EffectErrorCode EffectErrorCode
67```
68
69**描述**
70
71定义滤镜效果的状态码。
72
73**起始版本:** 12
74
75
76### pixelMap
77
78```
79typedef struct OH_Filter pixelMap
80```
81
82**描述**
83
84滤镜结构体,用来生成滤镜位图。
85
86定义一个位图。
87
88**起始版本:** 12
89
90**起始版本:** 12 指向pixelMap对象的智能指针
91
92
93## 枚举类型说明
94
95
96### EffectErrorCode
97
98```
99enum EffectErrorCode
100```
101
102**描述**
103
104定义滤镜效果的状态码。
105
106**起始版本:** 12
107
108| 枚举值 | 描述 |
109| -------- | -------- |
110| EFFECT_SUCCESS | 成功 |
111| EFFECT_BAD_PARAMETER | 无效的参数 |
112| EFFECT_UNSUPPORTED_OPERATION | 不支持的操作 |
113| EFFECT_UNKNOWN_ERROR | 未知错误 |
114
115
116### EffectTileMode
117
118```
119enum EffectTileMode
120```
121
122**描述**
123
124定义着色器效果平铺模式的枚举。
125
126**起始版本:** 14
127
128| 枚举值 | 描述 |
129| -------- | -------- |
130| CLAMP | 如果着色器效果超出其原始边界,剩余区域使用着色器的边缘颜色填充。 |
131| REPEAT | 在水平和垂直方向上重复着色器效果。 |
132| MIRROR | 在水平和垂直方向上重复着色器效果,交替镜像图像,以便相邻图像始终接合。 |
133| DECAL | 仅在其原始边界内渲染着色器效果。 |
134
135## 函数说明
136
137
138### OH_Filter_Blur()
139
140```
141EffectErrorCode OH_Filter_Blur (OH_Filter* filter, float radius )
142```
143
144**描述**
145
146创建一个毛玻璃滤镜效果,然后添加到滤镜里面。
147
148**起始版本:** 12
149
150**参数:**
151
152| 名称 | 描述 |
153| -------- | -------- |
154| filter | 滤镜指针。 |
155| radius | 毛玻璃效果的模糊半径,单位为像素。 |
156
157**返回:**
158
159返回结果参见状态码[EffectErrorCode](#effecterrorcode).
160
161
162### OH_Filter_BlurWithTileMode()
163
164```
165EffectErrorCode OH_Filter_BlurWithTileMode (OH_Filter* filter, float radius, EffectTileMode tileMode )
166```
167
168**描述**
169
170创建一个毛玻璃滤镜效果,然后添加到滤镜里面。
171
172**起始版本:** 14
173
174**参数:**
175
176| 名称 | 描述 |
177| -------- | -------- |
178| filter | 滤镜指针。 |
179| radius | 毛玻璃效果的模糊半径,单位为像素。 |
180| tileMode | 着色器效果平铺模式,支持可选的具体模式可见[EffectTileMode](#effecttilemode)枚举。 |
181
182**返回:**
183
184返回结果参见状态码[EffectErrorCode](#effecterrorcode).
185
186### OH_Filter_Brighten()
187
188```
189EffectErrorCode OH_Filter_Brighten (OH_Filter* filter, float brightness )
190```
191
192**描述**
193
194创建一个提亮效果并且添加到滤镜中。
195
196**起始版本:** 12
197
198**参数:**
199
200| 名称 | 描述 |
201| -------- | -------- |
202| filter | 滤镜指针。 |
203| brightness | 提亮效果的亮度值, 取值范围在0-1之间,取值为0时图像保持不变。 |
204
205**返回:**
206
207返回结果参见状态码[EffectErrorCode](#effecterrorcode).
208
209
210### OH_Filter_CreateEffect()
211
212```
213EffectErrorCode OH_Filter_CreateEffect (OH_PixelmapNative* pixelmap, OH_Filter** filter )
214```
215
216**描述**
217
218创建一个OH_Filter对象。
219
220**起始版本:** 12
221
222**参数:**
223
224| 名称 | 描述 |
225| -------- | -------- |
226| pixelmap | 创建滤镜的位图。 |
227| filter | 用来接收滤镜的二级指针。 |
228
229**返回:**
230
231返回结果参见状态码[EffectErrorCode](#effecterrorcode).
232
233
234### OH_Filter_GetEffectPixelMap()
235
236```
237EffectErrorCode OH_Filter_GetEffectPixelMap (OH_Filter* filter, OH_PixelmapNative** pixelmap )
238```
239
240**描述**
241
242获取滤镜生成的位图。
243
244**起始版本:** 12
245
246**参数:**
247
248| 名称 | 描述 |
249| -------- | -------- |
250| filter | 用来创建位图的滤镜指针。 |
251| pixelmap | 用来接收位图的二级指针。 |
252
253**返回:**
254
255返回结果参见状态码[EffectErrorCode](#effecterrorcode).
256
257
258### OH_Filter_GrayScale()
259
260```
261EffectErrorCode OH_Filter_GrayScale (OH_Filter* filter)
262```
263
264**描述**
265
266创建一个灰度效果并且添加到滤镜中。
267
268**起始版本:** 12
269
270**参数:**
271
272| 名称 | 描述 |
273| -------- | -------- |
274| filter | 滤镜指针。 |
275
276**返回:**
277
278返回结果参见状态码[EffectErrorCode](#effecterrorcode).
279
280
281### OH_Filter_Invert()
282
283```
284EffectErrorCode OH_Filter_Invert (OH_Filter* filter)
285```
286
287**描述**
288
289创建一个反色效果并且添加到滤镜中。
290
291**起始版本:** 12
292
293**参数:**
294
295| 名称 | 描述 |
296| -------- | -------- |
297| filter | 滤镜指针。 |
298
299**返回:**
300
301返回结果参见状态码[EffectErrorCode](#effecterrorcode).
302
303
304### OH_Filter_Release()
305
306```
307EffectErrorCode OH_Filter_Release (OH_Filter* filter)
308```
309
310**描述**
311
312释放OH_Filter对象。
313
314**起始版本:** 12
315
316**参数:**
317
318| 名称 | 描述 |
319| -------- | -------- |
320| filter | 被释放的对象指针。 |
321
322**返回:**
323
324返回结果参见状态码[EffectErrorCode](#effecterrorcode).
325
326
327### OH_Filter_SetColorMatrix()
328
329```
330EffectErrorCode OH_Filter_SetColorMatrix (OH_Filter* filter, OH_Filter_ColorMatrix* matrix )
331```
332
333**描述**
334
335通过矩阵创建一个自定义的效果并且添加到滤镜中。
336
337**起始版本:** 12
338
339**参数:**
340
341| 名称 | 描述 |
342| -------- | -------- |
343| filter | 滤镜指针。 |
344| matrix | 用来创建滤镜的自定义矩阵 [OH_Filter_ColorMatrix](_o_h___filter___color_matrix.md)。 |
345
346**返回:**
347
348返回结果参见状态码[EffectErrorCode](#effecterrorcode).
349