• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# effect_filter.h
2<!--Kit: ArkGraphics 2D-->
3<!--Subsystem: Multimedia-->
4<!--Owner: @hanamaru-->
5<!--Designer: @gaoweihua-->
6<!--Tester: @zhaoxiaoguang2-->
7<!--Adviser: @ge-yafang-->
8
9## 概述
10
11声明滤镜效果的接口。
12
13**引用文件:** <native_effect/effect_filter.h>
14
15**库:** libnative_effect.so
16
17**系统能力:** SystemCapability.Multimedia.Image.Core
18
19**起始版本:** 12
20
21**相关模块:** [effectKit](capi-effectkit.md)
22
23## 汇总
24
25### 函数
26
27| 名称 | 描述 |
28| -- | -- |
29| [EffectErrorCode OH_Filter_CreateEffect(OH_PixelmapNative* pixelmap, OH_Filter** filter)](#oh_filter_createeffect) | 创建一个OH_Filter对象。 |
30| [EffectErrorCode OH_Filter_Release(OH_Filter* filter)](#oh_filter_release) | 释放OH_Filter对象。 |
31| [EffectErrorCode OH_Filter_Blur(OH_Filter* filter, float radius)](#oh_filter_blur) | 创建一个毛玻璃滤镜效果,然后添加到滤镜里面。 |
32| [EffectErrorCode OH_Filter_BlurWithTileMode(OH_Filter* filter, float radius, EffectTileMode tileMode)](#oh_filter_blurwithtilemode) | 创建一个毛玻璃滤镜效果,然后添加到滤镜里面。 |
33| [EffectErrorCode OH_Filter_Brighten(OH_Filter* filter, float brightness)](#oh_filter_brighten) | 创建一个提亮效果并且添加到滤镜中。 |
34| [EffectErrorCode OH_Filter_GrayScale(OH_Filter* filter)](#oh_filter_grayscale) | 创建一个灰度效果并且添加到滤镜中。 |
35| [EffectErrorCode OH_Filter_Invert(OH_Filter* filter)](#oh_filter_invert) | 创建一个反色效果并且添加到滤镜中。 |
36| [EffectErrorCode OH_Filter_SetColorMatrix(OH_Filter* filter, OH_Filter_ColorMatrix* matrix)](#oh_filter_setcolormatrix) | 通过矩阵创建一个自定义的效果并且添加到滤镜中。 |
37| [EffectErrorCode OH_Filter_GetEffectPixelMap(OH_Filter* filter, OH_PixelmapNative** pixelmap)](#oh_filter_geteffectpixelmap) | 获取滤镜生成的位图。 |
38
39## 函数说明
40
41### OH_Filter_CreateEffect()
42
43```
44EffectErrorCode OH_Filter_CreateEffect(OH_PixelmapNative* pixelmap, OH_Filter** filter)
45```
46
47**描述**
48
49创建一个OH_Filter对象。
50
51**起始版本:** 12
52
53
54**参数:**
55
56| 参数项 | 描述 |
57| -- | -- |
58| [OH_PixelmapNative](capi-drawing-oh-pixelmapnative.md)* pixelmap | 创建滤镜的位图。 |
59| [OH_Filter](capi-effectkit-oh-filter.md)** filter | 用来接收滤镜的二级指针。 |
60
61**返回:**
62
63| 类型 | 说明 |
64| -- | -- |
65| [EffectErrorCode](capi-effect-types-h.md#effecterrorcode) | 返回结果参见状态码[EffectErrorCode](capi-effect-types-h.md#effecterrorcode)。 |
66
67### OH_Filter_Release()
68
69```
70EffectErrorCode OH_Filter_Release(OH_Filter* filter)
71```
72
73**描述**
74
75释放OH_Filter对象。
76
77**起始版本:** 12
78
79
80**参数:**
81
82| 参数项 | 描述 |
83| -- | -- |
84| [OH_Filter](capi-effectkit-oh-filter.md)* filter | 被释放的对象指针。 |
85
86**返回:**
87
88| 类型 | 说明 |
89| -- | -- |
90| [EffectErrorCode](capi-effect-types-h.md#effecterrorcode) | 返回结果参见状态码[EffectErrorCode](capi-effect-types-h.md#effecterrorcode)。 |
91
92### OH_Filter_Blur()
93
94```
95EffectErrorCode OH_Filter_Blur(OH_Filter* filter, float radius)
96```
97
98**描述**
99
100创建一个毛玻璃滤镜效果,然后添加到滤镜里面。
101
102**起始版本:** 12
103
104
105**参数:**
106
107| 参数项 | 描述 |
108| -- | -- |
109| [OH_Filter](capi-effectkit-oh-filter.md)* filter | 滤镜指针。 |
110| float radius | 毛玻璃效果的模糊半径,单位为像素。 |
111
112**返回:**
113
114| 类型 | 说明 |
115| -- | -- |
116| [EffectErrorCode](capi-effect-types-h.md#effecterrorcode) | 返回结果参见状态码[EffectErrorCode](capi-effect-types-h.md#effecterrorcode)。 |
117
118### OH_Filter_BlurWithTileMode()
119
120```
121EffectErrorCode OH_Filter_BlurWithTileMode(OH_Filter* filter, float radius, EffectTileMode tileMode)
122```
123
124**描述**
125
126创建一个毛玻璃滤镜效果,然后添加到滤镜里面,支持着色器效果平铺模式选择。
127
128**起始版本:** 14
129
130
131**参数:**
132
133| 参数项 | 描述 |
134| -- | -- |
135| [OH_Filter](capi-effectkit-oh-filter.md)* filter | 滤镜指针。 |
136| float radius | 毛玻璃效果的模糊半径,单位为像素。 |
137| [EffectTileMode](capi-effect-types-h.md#effecttilemode) tileMode | 着色器效果平铺模式,支持可选的具体模式可见[EffectTileMode](capi-effect-types-h.md#effecttilemode)枚举。 |
138
139**返回:**
140
141| 类型 | 说明 |
142| -- | -- |
143| [EffectErrorCode](capi-effect-types-h.md#effecterrorcode) | 返回结果参见状态码[EffectErrorCode](capi-effect-types-h.md#effecterrorcode)。<br> 操作成功则返回EFFECT_SUCCESS。<br> 无效参数则返回EFFECT_BAD_PARAMETER。 |
144
145### OH_Filter_Brighten()
146
147```
148EffectErrorCode OH_Filter_Brighten(OH_Filter* filter, float brightness)
149```
150
151**描述**
152
153创建一个提亮效果并且添加到滤镜中。
154
155**起始版本:** 12
156
157
158**参数:**
159
160| 参数项 | 描述 |
161| -- | -- |
162| [OH_Filter](capi-effectkit-oh-filter.md)* filter | 滤镜指针。 |
163| float brightness | 提亮效果的亮度值,取值范围在0-1之间,取值为0时图像保持不变,取值为1时图像全白。 |
164
165**返回:**
166
167| 类型 | 说明 |
168| -- | -- |
169| [EffectErrorCode](capi-effect-types-h.md#effecterrorcode) | 返回结果参见状态码[EffectErrorCode](capi-effect-types-h.md#effecterrorcode)。 |
170
171### OH_Filter_GrayScale()
172
173```
174EffectErrorCode OH_Filter_GrayScale(OH_Filter* filter)
175```
176
177**描述**
178
179创建一个灰度效果并且添加到滤镜中。
180
181**起始版本:** 12
182
183
184**参数:**
185
186| 参数项 | 描述 |
187| -- | -- |
188| [OH_Filter](capi-effectkit-oh-filter.md)* filter | 滤镜指针。 |
189
190**返回:**
191
192| 类型 | 说明 |
193| -- | -- |
194| [EffectErrorCode](capi-effect-types-h.md#effecterrorcode) | 返回结果参见状态码[EffectErrorCode](capi-effect-types-h.md#effecterrorcode)。 |
195
196### OH_Filter_Invert()
197
198```
199EffectErrorCode OH_Filter_Invert(OH_Filter* filter)
200```
201
202**描述**
203
204创建一个反色效果并且添加到滤镜中。
205
206**起始版本:** 12
207
208
209**参数:**
210
211| 参数项 | 描述 |
212| -- | -- |
213| [OH_Filter](capi-effectkit-oh-filter.md)* filter | 滤镜指针。 |
214
215**返回:**
216
217| 类型 | 说明 |
218| -- | -- |
219| [EffectErrorCode](capi-effect-types-h.md#effecterrorcode) | 返回结果参见状态码[EffectErrorCode](capi-effect-types-h.md#effecterrorcode)。 |
220
221### OH_Filter_SetColorMatrix()
222
223```
224EffectErrorCode OH_Filter_SetColorMatrix(OH_Filter* filter, OH_Filter_ColorMatrix* matrix)
225```
226
227**描述**
228
229通过矩阵创建一个自定义的效果并且添加到滤镜中。
230
231**起始版本:** 12
232
233
234**参数:**
235
236| 参数项 | 描述 |
237| -- | -- |
238| [OH_Filter](capi-effectkit-oh-filter.md)* filter | 滤镜指针。 |
239| [OH_Filter_ColorMatrix](capi-effectkit-oh-filter-colormatrix.md)* matrix | 用来创建滤镜的自定义矩阵[OH_Filter_ColorMatrix](capi-effectkit-oh-filter-colormatrix.md)。 |
240
241**返回:**
242
243| 类型 | 说明 |
244| -- | -- |
245| [EffectErrorCode](capi-effect-types-h.md#effecterrorcode) | 返回结果参见状态码[EffectErrorCode](capi-effect-types-h.md#effecterrorcode)。 |
246
247### OH_Filter_GetEffectPixelMap()
248
249```
250EffectErrorCode OH_Filter_GetEffectPixelMap(OH_Filter* filter, OH_PixelmapNative** pixelmap)
251```
252
253**描述**
254
255获取滤镜生成的位图。
256
257**起始版本:** 12
258
259
260**参数:**
261
262| 参数项 | 描述 |
263| -- | -- |
264| [OH_Filter](capi-effectkit-oh-filter.md)* filter | 用来创建位图的滤镜指针。 |
265| [OH_PixelmapNative](capi-drawing-oh-pixelmapnative.md)** pixelmap | 用来接收位图的二级指针。 |
266
267**返回:**
268
269| 类型 | 说明 |
270| -- | -- |
271| [EffectErrorCode](capi-effect-types-h.md#effecterrorcode) | 返回结果参见状态码[EffectErrorCode](capi-effect-types-h.md#effecterrorcode)。 |
272
273
274