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
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_Brighten](#oh_filter_brighten) ([OH_Filter](_o_h___filter.md) \*filter, float brightness) | 创建一个提亮效果并且添加到滤镜中。 | 
53| [EffectErrorCode](#effecterrorcode) [OH_Filter_GrayScale](#oh_filter_grayscale) ([OH_Filter](_o_h___filter.md) \*filter) | 创建一个灰度效果并且添加到滤镜中。 | 
54| [EffectErrorCode](#effecterrorcode) [OH_Filter_Invert](#oh_filter_invert) ([OH_Filter](_o_h___filter.md) \*filter) | 创建一个反色效果并且添加到滤镜中。 | 
55| [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) | 通过矩阵创建一个自定义的效果并且添加到滤镜中。 | 
56| [EffectErrorCode](#effecterrorcode) [OH_Filter_GetEffectPixelMap](#oh_filter_geteffectpixelmap) ([OH_Filter](_o_h___filter.md) \*filter, OH_PixelmapNative \*\*pixelmap) | 获取滤镜生成的位图。 | 
57
58
59## 类型定义说明
60
61
62### EffectErrorCode
63
64```
65typedef enum EffectErrorCode EffectErrorCode
66```
67
68**描述**
69
70定义滤镜效果的状态码。
71
72**起始版本:** 12
73
74
75### pixelMap
76
77```
78typedef struct OH_Filter pixelMap
79```
80
81**描述**
82
83滤镜结构体,用来生成滤镜位图。
84
85定义一个位图。
86
87**起始版本:** 12
88
89**起始版本:** 12 指向pixelMap对象的智能指针
90
91
92## 枚举类型说明
93
94
95### EffectErrorCode
96
97```
98enum EffectErrorCode
99```
100
101**描述**
102
103定义滤镜效果的状态码。
104
105**起始版本:** 12
106
107| 枚举值 | 描述 | 
108| -------- | -------- |
109| EFFECT_SUCCESS | 成功 | 
110| EFFECT_BAD_PARAMETER | 无效的参数 | 
111| EFFECT_UNSUPPORTED_OPERATION | 不支持的操作 | 
112| EFFECT_UNKNOWN_ERROR | 未知错误 | 
113
114
115## 函数说明
116
117
118### OH_Filter_Blur()
119
120```
121EffectErrorCode OH_Filter_Blur (OH_Filter* filter, float radius )
122```
123
124**描述**
125
126创建一个毛玻璃滤镜效果,然后添加到滤镜里面。
127
128**起始版本:** 12
129
130**参数:**
131
132| 名称 | 描述 | 
133| -------- | -------- |
134| filter | 滤镜指针。 | 
135| radius | 毛玻璃效果的模糊半径,单位为像素。 | 
136
137**返回:**
138
139返回结果参见状态码[EffectErrorCode](#effecterrorcode).
140
141
142### OH_Filter_Brighten()
143
144```
145EffectErrorCode OH_Filter_Brighten (OH_Filter* filter, float brightness )
146```
147
148**描述**
149
150创建一个提亮效果并且添加到滤镜中。
151
152**起始版本:** 12
153
154**参数:**
155
156| 名称 | 描述 | 
157| -------- | -------- |
158| filter | 滤镜指针。 | 
159| brightness | 提亮效果的亮度值, 取值范围在0-1之间,取值为0时图像保持不变。 | 
160
161**返回:**
162
163返回结果参见状态码[EffectErrorCode](#effecterrorcode).
164
165
166### OH_Filter_CreateEffect()
167
168```
169EffectErrorCode OH_Filter_CreateEffect (OH_PixelmapNative* pixelmap, OH_Filter** filter )
170```
171
172**描述**
173
174创建一个OH_Filter对象。
175
176**起始版本:** 12
177
178**参数:**
179
180| 名称 | 描述 | 
181| -------- | -------- |
182| pixelmap | 创建滤镜的位图。 | 
183| filter | 用来接收滤镜的二级指针。 | 
184
185**返回:**
186
187返回结果参见状态码[EffectErrorCode](#effecterrorcode).
188
189
190### OH_Filter_GetEffectPixelMap()
191
192```
193EffectErrorCode OH_Filter_GetEffectPixelMap (OH_Filter* filter, OH_PixelmapNative** pixelmap )
194```
195
196**描述**
197
198获取滤镜生成的位图。
199
200**起始版本:** 12
201
202**参数:**
203
204| 名称 | 描述 | 
205| -------- | -------- |
206| filter | 用来创建位图的滤镜指针。 | 
207| pixelmap | 用来接收位图的二级指针。 | 
208
209**返回:**
210
211返回结果参见状态码[EffectErrorCode](#effecterrorcode).
212
213
214### OH_Filter_GrayScale()
215
216```
217EffectErrorCode OH_Filter_GrayScale (OH_Filter* filter)
218```
219
220**描述**
221
222创建一个灰度效果并且添加到滤镜中。
223
224**起始版本:** 12
225
226**参数:**
227
228| 名称 | 描述 | 
229| -------- | -------- |
230| filter | 滤镜指针。 | 
231
232**返回:**
233
234返回结果参见状态码[EffectErrorCode](#effecterrorcode).
235
236
237### OH_Filter_Invert()
238
239```
240EffectErrorCode OH_Filter_Invert (OH_Filter* filter)
241```
242
243**描述**
244
245创建一个反色效果并且添加到滤镜中。
246
247**起始版本:** 12
248
249**参数:**
250
251| 名称 | 描述 | 
252| -------- | -------- |
253| filter | 滤镜指针。 | 
254
255**返回:**
256
257返回结果参见状态码[EffectErrorCode](#effecterrorcode).
258
259
260### OH_Filter_Release()
261
262```
263EffectErrorCode OH_Filter_Release (OH_Filter* filter)
264```
265
266**描述**
267
268释放OH_Filter对象。
269
270**起始版本:** 12
271
272**参数:**
273
274| 名称 | 描述 | 
275| -------- | -------- |
276| filter | 被释放的对象指针。 | 
277
278**返回:**
279
280返回结果参见状态码[EffectErrorCode](#effecterrorcode).
281
282
283### OH_Filter_SetColorMatrix()
284
285```
286EffectErrorCode OH_Filter_SetColorMatrix (OH_Filter* filter, OH_Filter_ColorMatrix* matrix )
287```
288
289**描述**
290
291通过矩阵创建一个自定义的效果并且添加到滤镜中。
292
293**起始版本:** 12
294
295**参数:**
296
297| 名称 | 描述 | 
298| -------- | -------- |
299| filter | 滤镜指针。 | 
300| matrix | 用来创建滤镜的自定义矩阵 [OH_Filter_ColorMatrix](_o_h___filter___color_matrix.md)。 | 
301
302**返回:**
303
304返回结果参见状态码[EffectErrorCode](#effecterrorcode).
305