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