• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# image_effect_filter.h
2
3<!--Kit: Image Kit-->
4<!--Subsystem: Multimedia-->
5<!--Owner: @zyj208-->
6<!--Designer: @wangshoucheng-->
7<!--Tester: @gengfei-->
8<!--Adviser: @zengyawen-->
9
10## 概述
11
12声明滤镜相关接口。<br> 开发者可以通过滤镜的接口快速实现基本的效果处理,也可以将滤镜添加到效果器中,组合成滤镜链串联执行。系统提供了如“亮度”、“裁剪”等基本的效果处理滤镜。
13
14**引用文件:** <multimedia/image_effect/image_effect_filter.h>
15
16**库:** libimage_effect.so
17
18**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
19
20**起始版本:** 12
21
22**相关模块:** [ImageEffect](capi-imageeffect.md)
23
24## 汇总
25
26### 结构体
27
28| 名称 | typedef关键字 | 描述 |
29| -- | -- | -- |
30| [ImageEffect_DataValue](capi-imageeffect-imageeffect-datavalue.md) | ImageEffect_DataValue | 数据值联合体。 |
31| [ImageEffect_Any](capi-imageeffect-imageeffect-any.md) | ImageEffect_Any | 参数结构体。 |
32| [ImageEffect_FilterNames](capi-imageeffect-imageeffect-filternames.md) | ImageEffect_FilterNames | 滤镜名信息。 |
33| [ImageEffect_FilterDelegate](capi-imageeffect-imageeffect-filterdelegate.md) | ImageEffect_FilterDelegate | 自定义滤镜回调函数结构体。 |
34| [ImageEffect_Region](capi-imageeffect-imageeffect-region.md) | ImageEffect_Region | 图像区域结构体。 |
35| [ImageEffect_Size](capi-imageeffect-imageeffect-size.md) | ImageEffect_Size | 图像尺寸结构体。 |
36| [OH_EffectFilter](capi-imageeffect-oh-effectfilter.md) | OH_EffectFilter | 定义滤镜结构类型。 |
37| [OH_EffectFilterInfo](capi-imageeffect-oh-effectfilterinfo.md) | OH_EffectFilterInfo | 定义滤镜信息结构体。 |
38| [OH_EffectBufferInfo](capi-imageeffect-oh-effectbufferinfo.md) | OH_EffectBufferInfo | 定义图像信息。 |
39
40### 枚举
41
42| 名称 | typedef关键字 | 描述 |
43| -- | -- | -- |
44| [ImageEffect_DataType](#imageeffect_datatype) | ImageEffect_DataType | 数据类型枚举值。 |
45| [ImageEffect_Format](#imageeffect_format) | ImageEffect_Format | 像素格式枚举值。 |
46| [ImageEffect_BufferType](#imageeffect_buffertype) | ImageEffect_BufferType | 内存类型枚举值。 |
47
48### 宏定义
49
50| 名称 | 描述 |
51| -- | -- |
52| OH_EFFECT_BRIGHTNESS_FILTER "Brightness" | 亮度滤镜,对应的参数为OH_EFFECT_FILTER_INTENSITY_KEY,参数类型为[EFFECT_DATA_TYPE_FLOAT](#imageeffect_datatype)。<br>**起始版本:** 12<br>**系统能力:** SystemCapability.Multimedia.ImageEffect.Core |
53| OH_EFFECT_CONTRAST_FILTER "Contrast" | 对比度滤镜,对应的参数为OH_EFFECT_FILTER_INTENSITY_KEY,参数类型为[EFFECT_DATA_TYPE_FLOAT](#imageeffect_datatype)。<br>**起始版本:** 12<br>**系统能力:** SystemCapability.Multimedia.ImageEffect.Core |
54| OH_EFFECT_CROP_FILTER "Crop" | 裁剪滤镜,对应的参数为OH_EFFECT_FILTER_REGION_KEY,参数类型为[EFFECT_DATA_TYPE_PTR](#imageeffect_datatype),参数值为结构体 [ImageEffect_Region](capi-imageeffect-imageeffect-region.md)。<br>**起始版本:** 12<br>**系统能力:** SystemCapability.Multimedia.ImageEffect.Core |
55| OH_EFFECT_FILTER_INTENSITY_KEY "FilterIntensity" | 强度参数。<br>**起始版本:** 12<br>**系统能力:** SystemCapability.Multimedia.ImageEffect.Core |
56| OH_EFFECT_FILTER_REGION_KEY "FilterRegion" | 图像区域参数。<br>**起始版本:** 12<br>**系统能力:** SystemCapability.Multimedia.ImageEffect.Core |
57
58### 函数
59
60| 名称 | typedef关键字 | 描述 |
61| -- | -- | -- |
62| [OH_EffectFilterInfo *OH_EffectFilterInfo_Create()](#oh_effectfilterinfo_create) | - | 创建OH_EffectFilterInfo实例,调用[OH_EffectFilterInfo_Release](#oh_effectfilterinfo_release)进行资源释放。 |
63| [ImageEffect_ErrorCode OH_EffectFilterInfo_SetFilterName(OH_EffectFilterInfo *info, const char *name)](#oh_effectfilterinfo_setfiltername) | - | 设置滤镜名。 |
64| [ImageEffect_ErrorCode OH_EffectFilterInfo_GetFilterName(OH_EffectFilterInfo *info, char **name)](#oh_effectfilterinfo_getfiltername) | - | 获取滤镜名。 |
65| [ImageEffect_ErrorCode OH_EffectFilterInfo_SetSupportedBufferTypes(OH_EffectFilterInfo *info, uint32_t size, ImageEffect_BufferType *bufferTypeArray)](#oh_effectfilterinfo_setsupportedbuffertypes) | - | 设置滤镜所支持的内存类型。 |
66| [ImageEffect_ErrorCode OH_EffectFilterInfo_GetSupportedBufferTypes(OH_EffectFilterInfo *info, uint32_t *size, ImageEffect_BufferType **bufferTypeArray)](#oh_effectfilterinfo_getsupportedbuffertypes) | - | 获取滤镜所支持的内存类型。 |
67| [ImageEffect_ErrorCode OH_EffectFilterInfo_SetSupportedFormats(OH_EffectFilterInfo *info, uint32_t size, ImageEffect_Format *formatArray)](#oh_effectfilterinfo_setsupportedformats) | - | 设置滤镜所支持的像素格式。 |
68| [ImageEffect_ErrorCode OH_EffectFilterInfo_GetSupportedFormats(OH_EffectFilterInfo *info, uint32_t *size, ImageEffect_Format **formatArray)](#oh_effectfilterinfo_getsupportedformats) | - | 获取滤镜所支持的像素格式。 |
69| [ImageEffect_ErrorCode OH_EffectFilterInfo_Release(OH_EffectFilterInfo *info)](#oh_effectfilterinfo_release) | - | 销毁OH_EffectFilterInfo实例。 |
70| [OH_EffectBufferInfo *OH_EffectBufferInfo_Create()](#oh_effectbufferinfo_create) | - | 创建OH_EffectBufferInfo实例,调用[OH_EffectBufferInfo_Release](#oh_effectbufferinfo_release)进行资源释放。 |
71| [ImageEffect_ErrorCode OH_EffectBufferInfo_SetAddr(OH_EffectBufferInfo *info, void *addr)](#oh_effectbufferinfo_setaddr) | - | 设置图像内存地址。 |
72| [ImageEffect_ErrorCode OH_EffectBufferInfo_GetAddr(OH_EffectBufferInfo *info, void **addr)](#oh_effectbufferinfo_getaddr) | - | 获取图像内存地址。 |
73| [ImageEffect_ErrorCode OH_EffectBufferInfo_SetWidth(OH_EffectBufferInfo *info, int32_t width)](#oh_effectbufferinfo_setwidth) | - | 设置图像宽度。 |
74| [ImageEffect_ErrorCode OH_EffectBufferInfo_GetWidth(OH_EffectBufferInfo *info, int32_t *width)](#oh_effectbufferinfo_getwidth) | - | 获取图像宽度。 |
75| [ImageEffect_ErrorCode OH_EffectBufferInfo_SetHeight(OH_EffectBufferInfo *info, int32_t height)](#oh_effectbufferinfo_setheight) | - | 设置图像高度。 |
76| [ImageEffect_ErrorCode OH_EffectBufferInfo_GetHeight(OH_EffectBufferInfo *info, int32_t *height)](#oh_effectbufferinfo_getheight) | - | 获取图像高度。 |
77| [ImageEffect_ErrorCode OH_EffectBufferInfo_SetRowSize(OH_EffectBufferInfo *info, int32_t rowSize)](#oh_effectbufferinfo_setrowsize) | - | 设置图像每一行的字节数。 |
78| [ImageEffect_ErrorCode OH_EffectBufferInfo_GetRowSize(OH_EffectBufferInfo *info, int32_t *rowSize)](#oh_effectbufferinfo_getrowsize) | - | 获取图像每一行的字节数。 |
79| [ImageEffect_ErrorCode OH_EffectBufferInfo_SetEffectFormat(OH_EffectBufferInfo *info, ImageEffect_Format format)](#oh_effectbufferinfo_seteffectformat) | - | 设置图像的像素格式。 |
80| [ImageEffect_ErrorCode OH_EffectBufferInfo_GetEffectFormat(OH_EffectBufferInfo *info, ImageEffect_Format *format)](#oh_effectbufferinfo_geteffectformat) | - | 获取图像的像素格式。 |
81| [ImageEffect_ErrorCode OH_EffectBufferInfo_SetTextureId(OH_EffectBufferInfo *info, int32_t textureId)](#oh_effectbufferinfo_settextureid) | - | 设置OH_EffectBufferInfo的图像的textureId。 |
82| [ImageEffect_ErrorCode OH_EffectBufferInfo_GetTextureId(OH_EffectBufferInfo *info, int32_t *textureId)](#oh_effectbufferinfo_gettextureid) | - | 从OH_EffectBufferInfo中获取图像的textureId。 |
83| [ImageEffect_ErrorCode OH_EffectBufferInfo_Release(OH_EffectBufferInfo *info)](#oh_effectbufferinfo_release) | - | 销毁OH_EffectBufferInfo实例。 |
84| [typedef bool (\*OH_EffectFilterDelegate_SetValue)(OH_EffectFilter *filter, const char *key, const ImageEffect_Any *value)](#oh_effectfilterdelegate_setvalue) | OH_EffectFilterDelegate_SetValue | 自定义滤镜设置参数的回调函数,用于开发者校验参数及参数值。 |
85| [typedef void (\*OH_EffectFilterDelegate_PushData)(OH_EffectFilter *filter, OH_EffectBufferInfo *info)](#oh_effectfilterdelegate_pushdata) | OH_EffectFilterDelegate_PushData | 自定义滤镜传递图像信息到下一级滤镜的函数指针。需要在[OH_EffectFilterDelegate_Render](#oh_effectfilterdelegate_render)的回调中主动调用该函数指针。 |
86| [typedef bool (\*OH_EffectFilterDelegate_Render)(OH_EffectFilter *filter, OH_EffectBufferInfo *info, OH_EffectFilterDelegate_PushData pushData)](#oh_effectfilterdelegate_render) | OH_EffectFilterDelegate_Render | 自定义滤镜渲染图像的回调函数。 |
87| [typedef bool (\*OH_EffectFilterDelegate_Save)(OH_EffectFilter *filter, char **info)](#oh_effectfilterdelegate_save) | OH_EffectFilterDelegate_Save | 自定义滤镜序列化的回调函数,按照JSON格式进行滤镜序列化处理。 |
88| [typedef OH_EffectFilter *(\*OH_EffectFilterDelegate_Restore)(const char *info)](#oh_effectfilterdelegate_restore) | OH_EffectFilterDelegate_Restore | 自定义滤镜反序列化的回调函数。 |
89| [OH_EffectFilter *OH_EffectFilter_Create(const char *name)](#oh_effectfilter_create) | - | 创建OH_EffectFilter实例,调用[OH_EffectFilter_Release](#oh_effectfilter_release)进行资源释放。 |
90| [ImageEffect_ErrorCode OH_EffectFilter_SetValue(OH_EffectFilter *filter, const char *key, const ImageEffect_Any *value)](#oh_effectfilter_setvalue) | - | 设置滤镜参数。 |
91| [ImageEffect_ErrorCode OH_EffectFilter_GetValue(OH_EffectFilter *filter, const char *key, ImageEffect_Any *value)](#oh_effectfilter_getvalue) | - | 获取滤镜参数。 |
92| [ImageEffect_ErrorCode OH_EffectFilter_Register(const OH_EffectFilterInfo *info, const ImageEffect_FilterDelegate *delegate)](#oh_effectfilter_register) | - | 注册自定义滤镜。 |
93| [ImageEffect_FilterNames *OH_EffectFilter_LookupFilters(const char *key)](#oh_effectfilter_lookupfilters) | - | 查询满足条件的滤镜。 |
94| [void OH_EffectFilter_ReleaseFilterNames()](#oh_effectfilter_releasefilternames) | - | 释放滤镜名内存资源。 |
95| [ImageEffect_ErrorCode OH_EffectFilter_LookupFilterInfo(const char *name, OH_EffectFilterInfo *info)](#oh_effectfilter_lookupfilterinfo) | - | 查询滤镜信息。 |
96| [ImageEffect_ErrorCode OH_EffectFilter_Render(OH_EffectFilter *filter, OH_PixelmapNative *inputPixelmap, OH_PixelmapNative *outputPixelmap)](#oh_effectfilter_render) | - | 执行图像渲染。 |
97| [ImageEffect_ErrorCode OH_EffectFilter_RenderWithTextureId(OH_EffectFilter *filter, int32_t inputTextureId, int32_t outputTextureId, int32_t colorSpace)](#oh_effectfilter_renderwithtextureid) | - | 使用纹理标识渲染滤镜效果。该函数不支持相同的输入和输出图像。 |
98| [ImageEffect_ErrorCode OH_EffectFilter_Release(OH_EffectFilter *filter)](#oh_effectfilter_release) | - | 销毁OH_EffectFilter实例。 |
99| [ImageEffect_ErrorCode OH_EffectBufferInfo_SetTimestamp(OH_EffectBufferInfo *info, int64_t timestamp)](#oh_effectbufferinfo_settimestamp) | - | 设置滤镜时间戳。 |
100| [ImageEffect_ErrorCode OH_EffectBufferInfo_GetTimestamp(OH_EffectBufferInfo *info, int64_t *timestamp)](#oh_effectbufferinfo_gettimestamp) | - | 获取滤镜时间戳。 |
101
102## 枚举类型说明
103
104### ImageEffect_DataType
105
106```
107enum ImageEffect_DataType
108```
109
110**描述**
111
112数据类型枚举值。
113
114**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
115
116**起始版本:** 12
117
118| 枚举项 | 描述 |
119| -- | -- |
120| EFFECT_DATA_TYPE_UNKNOWN = 0 | 未定义类型。 |
121| EFFECT_DATA_TYPE_INT32 = 1 | 整形。 |
122| EFFECT_DATA_TYPE_FLOAT = 2 | 单精度浮点型。 |
123| EFFECT_DATA_TYPE_DOUBLE = 3 | 双精度浮点型。 |
124| EFFECT_DATA_TYPE_CHAR = 4 | 字节类型。 |
125| EFFECT_DATA_TYPE_LONG = 5 | 长整型。 |
126| EFFECT_DATA_TYPE_BOOL = 6 | 布尔类型。 |
127| EFFECT_DATA_TYPE_PTR = 7 | 指针类型。 |
128
129### ImageEffect_Format
130
131```
132enum ImageEffect_Format
133```
134
135**描述**
136
137像素格式枚举值。
138
139**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
140
141**起始版本:** 12
142
143| 枚举项 | 描述 |
144| -- | -- |
145| EFFECT_PIXEL_FORMAT_UNKNOWN = 0 | 未定义类型。 |
146| EFFECT_PIXEL_FORMAT_RGBA8888 = 1 | RGBA8888类型。 |
147| EFFECT_PIXEL_FORMAT_NV21 = 2 | NV21类型。 |
148| EFFECT_PIXEL_FORMAT_NV12 = 3 | NV12类型。 |
149| EFFECT_PIXEL_FORMAT_RGBA1010102 = 4 | 10bit RGBA类型。 |
150| EFFECT_PIXEL_FORMAT_YCBCR_P010 = 5 | 10bit YCBCR420类型。 |
151| EFFECT_PIXEL_FORMAT_YCRCB_P010 = 6 | 10bit YCRCB420类型。 |
152
153### ImageEffect_BufferType
154
155```
156enum ImageEffect_BufferType
157```
158
159**描述**
160
161内存类型枚举值。
162
163**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
164
165**起始版本:** 12
166
167| 枚举项 | 描述 |
168| -- | -- |
169| EFFECT_BUFFER_TYPE_UNKNOWN = 0 | 未定义类型。 |
170| EFFECT_BUFFER_TYPE_PIXEL = 1 | 像素图类型。 |
171| EFFECT_BUFFER_TYPE_TEXTURE = 2 | 纹理类型。 |
172
173
174## 函数说明
175
176### OH_EffectFilterInfo_Create()
177
178```
179OH_EffectFilterInfo *OH_EffectFilterInfo_Create()
180```
181
182**描述**
183
184创建OH_EffectFilterInfo实例,调用[OH_EffectFilterInfo_Release](#oh_effectfilterinfo_release)进行资源释放。
185
186**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
187
188**起始版本:** 12
189
190**返回:**
191
192| 类型 | 说明 |
193| -- | -- |
194| [OH_EffectFilterInfo](capi-imageeffect-oh-effectfilterinfo.md) * | 返回一个指向OH_EffectFilterInfo实例的指针,创建失败时返回空指针。 |
195
196### OH_EffectFilterInfo_SetFilterName()
197
198```
199ImageEffect_ErrorCode OH_EffectFilterInfo_SetFilterName(OH_EffectFilterInfo *info, const char *name)
200```
201
202**描述**
203
204设置滤镜名。
205
206**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
207
208**起始版本:** 12
209
210
211**参数:**
212
213| 参数项 | 描述 |
214| -- | -- |
215| [OH_EffectFilterInfo](capi-imageeffect-oh-effectfilterinfo.md) *info | 滤镜信息指针。 |
216| const char *name | 滤镜名,例如:OH_EFFECT_BRIGHTNESS_FILTER。 |
217
218**返回:**
219
220| 类型 | 说明 |
221| -- | -- |
222| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:入参为空指针。 |
223
224### OH_EffectFilterInfo_GetFilterName()
225
226```
227ImageEffect_ErrorCode OH_EffectFilterInfo_GetFilterName(OH_EffectFilterInfo *info, char **name)
228```
229
230**描述**
231
232获取滤镜名。
233
234**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
235
236**起始版本:** 12
237
238
239**参数:**
240
241| 参数项 | 描述 |
242| -- | -- |
243| [OH_EffectFilterInfo](capi-imageeffect-oh-effectfilterinfo.md) *info | 滤镜信息指针。 |
244| char **name | 指向char数组的指针,返回滤镜名。 |
245
246**返回:**
247
248| 类型 | 说明 |
249| -- | -- |
250| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:入参为空指针。 |
251
252### OH_EffectFilterInfo_SetSupportedBufferTypes()
253
254```
255ImageEffect_ErrorCode OH_EffectFilterInfo_SetSupportedBufferTypes(OH_EffectFilterInfo *info, uint32_t size, ImageEffect_BufferType *bufferTypeArray)
256```
257
258**描述**
259
260设置滤镜所支持的内存类型。
261
262**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
263
264**起始版本:** 12
265
266
267**参数:**
268
269| 参数项 | 描述 |
270| -- | -- |
271| [OH_EffectFilterInfo](capi-imageeffect-oh-effectfilterinfo.md) *info | 滤镜信息指针。 |
272| uint32_t size | 滤镜所支持内存类型[ImageEffect_BufferType](#imageeffect_buffertype)个数。 |
273| [ImageEffect_BufferType](#imageeffect_buffertype) *bufferTypeArray | 滤镜所支持内存类型[ImageEffect_BufferType](#imageeffect_buffertype)数组。 |
274
275**返回:**
276
277| 类型 | 说明 |
278| -- | -- |
279| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:入参为空指针。 |
280
281### OH_EffectFilterInfo_GetSupportedBufferTypes()
282
283```
284ImageEffect_ErrorCode OH_EffectFilterInfo_GetSupportedBufferTypes(OH_EffectFilterInfo *info, uint32_t *size, ImageEffect_BufferType **bufferTypeArray)
285```
286
287**描述**
288
289获取滤镜所支持的内存类型。
290
291**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
292
293**起始版本:** 12
294
295
296**参数:**
297
298| 参数项 | 描述 |
299| -- | -- |
300| [OH_EffectFilterInfo](capi-imageeffect-oh-effectfilterinfo.md) *info | 滤镜信息指针。 |
301| uint32_t *size | 滤镜所支持内存类型[ImageEffect_BufferType](#imageeffect_buffertype)个数。 |
302| [ImageEffect_BufferType](#imageeffect_buffertype) **bufferTypeArray | 滤镜所支持内存类型[ImageEffect_BufferType](#imageeffect_buffertype)数组。 |
303
304**返回:**
305
306| 类型 | 说明 |
307| -- | -- |
308| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:入参为空指针。 |
309
310### OH_EffectFilterInfo_SetSupportedFormats()
311
312```
313ImageEffect_ErrorCode OH_EffectFilterInfo_SetSupportedFormats(OH_EffectFilterInfo *info, uint32_t size, ImageEffect_Format *formatArray)
314```
315
316**描述**
317
318设置滤镜所支持的像素格式。
319
320**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
321
322**起始版本:** 12
323
324
325**参数:**
326
327| 参数项 | 描述 |
328| -- | -- |
329| [OH_EffectFilterInfo](capi-imageeffect-oh-effectfilterinfo.md) *info | 滤镜信息指针。 |
330| uint32_t size | 滤镜所支持像素格式[ImageEffect_Format](#imageeffect_format)个数。 |
331| [ImageEffect_Format](#imageeffect_format) *formatArray | 滤镜所支持像素格式[ImageEffect_Format](#imageeffect_format)数组。 |
332
333**返回:**
334
335| 类型 | 说明 |
336| -- | -- |
337| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:入参为空指针。 |
338
339### OH_EffectFilterInfo_GetSupportedFormats()
340
341```
342ImageEffect_ErrorCode OH_EffectFilterInfo_GetSupportedFormats(OH_EffectFilterInfo *info, uint32_t *size, ImageEffect_Format **formatArray)
343```
344
345**描述**
346
347获取滤镜所支持的像素格式。
348
349**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
350
351**起始版本:** 12
352
353
354**参数:**
355
356| 参数项 | 描述 |
357| -- | -- |
358| [OH_EffectFilterInfo](capi-imageeffect-oh-effectfilterinfo.md) *info | 滤镜信息指针。 |
359| uint32_t *size | 滤镜所支持像素格式[ImageEffect_Format](#imageeffect_format)个数。 |
360| [ImageEffect_Format](#imageeffect_format) **formatArray | 滤镜所支持像素格式[ImageEffect_Format](#imageeffect_format)数组。 |
361
362**返回:**
363
364| 类型 | 说明 |
365| -- | -- |
366| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:入参为空指针。 |
367
368### OH_EffectFilterInfo_Release()
369
370```
371ImageEffect_ErrorCode OH_EffectFilterInfo_Release(OH_EffectFilterInfo *info)
372```
373
374**描述**
375
376销毁OH_EffectFilterInfo实例。
377
378**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
379
380**起始版本:** 12
381
382
383**参数:**
384
385| 参数项 | 描述 |
386| -- | -- |
387| [OH_EffectFilterInfo](capi-imageeffect-oh-effectfilterinfo.md) *info | 滤镜信息指针。 |
388
389**返回:**
390
391| 类型 | 说明 |
392| -- | -- |
393| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:入参为空指针。 |
394
395### OH_EffectBufferInfo_Create()
396
397```
398OH_EffectBufferInfo *OH_EffectBufferInfo_Create()
399```
400
401**描述**
402
403创建OH_EffectBufferInfo实例,调用[OH_EffectBufferInfo_Release](#oh_effectbufferinfo_release)进行资源释放。
404
405**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
406
407**起始版本:** 12
408
409**返回:**
410
411| 类型 | 说明 |
412| -- | -- |
413| [OH_EffectBufferInfo](capi-imageeffect-oh-effectbufferinfo.md) * | 返回一个指向OH_EffectBufferInfo实例的指针,创建失败时返回空指针。 |
414
415### OH_EffectBufferInfo_SetAddr()
416
417```
418ImageEffect_ErrorCode OH_EffectBufferInfo_SetAddr(OH_EffectBufferInfo *info, void *addr)
419```
420
421**描述**
422
423设置图像内存地址。
424
425**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
426
427**起始版本:** 12
428
429
430**参数:**
431
432| 参数项 | 描述 |
433| -- | -- |
434| [OH_EffectBufferInfo](capi-imageeffect-oh-effectbufferinfo.md) *info | 图像信息指针。 |
435| void *addr | 图像虚拟内存地址。 |
436
437**返回:**
438
439| 类型 | 说明 |
440| -- | -- |
441| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:入参为空指针。 |
442
443### OH_EffectBufferInfo_GetAddr()
444
445```
446ImageEffect_ErrorCode OH_EffectBufferInfo_GetAddr(OH_EffectBufferInfo *info, void **addr)
447```
448
449**描述**
450
451获取图像内存地址。
452
453**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
454
455**起始版本:** 12
456
457
458**参数:**
459
460| 参数项 | 描述 |
461| -- | -- |
462| [OH_EffectBufferInfo](capi-imageeffect-oh-effectbufferinfo.md) *info | 图像信息指针。 |
463| void **addr | 图像虚拟内存地址。 |
464
465**返回:**
466
467| 类型 | 说明 |
468| -- | -- |
469| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:入参为空指针。 |
470
471### OH_EffectBufferInfo_SetWidth()
472
473```
474ImageEffect_ErrorCode OH_EffectBufferInfo_SetWidth(OH_EffectBufferInfo *info, int32_t width)
475```
476
477**描述**
478
479设置图像宽度。
480
481**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
482
483**起始版本:** 12
484
485
486**参数:**
487
488| 参数项 | 描述 |
489| -- | -- |
490| [OH_EffectBufferInfo](capi-imageeffect-oh-effectbufferinfo.md) *info | 图像信息指针。 |
491| int32_t width | 图像宽度,单位:像素。 |
492
493**返回:**
494
495| 类型 | 说明 |
496| -- | -- |
497| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:入参为空指针。 |
498
499### OH_EffectBufferInfo_GetWidth()
500
501```
502ImageEffect_ErrorCode OH_EffectBufferInfo_GetWidth(OH_EffectBufferInfo *info, int32_t *width)
503```
504
505**描述**
506
507获取图像宽度。
508
509**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
510
511**起始版本:** 12
512
513
514**参数:**
515
516| 参数项 | 描述 |
517| -- | -- |
518| [OH_EffectBufferInfo](capi-imageeffect-oh-effectbufferinfo.md) *info | 图像信息指针。 |
519| int32_t *width | 图像宽度,单位:像素。 |
520
521**返回:**
522
523| 类型 | 说明 |
524| -- | -- |
525| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:入参为空指针。 |
526
527### OH_EffectBufferInfo_SetHeight()
528
529```
530ImageEffect_ErrorCode OH_EffectBufferInfo_SetHeight(OH_EffectBufferInfo *info, int32_t height)
531```
532
533**描述**
534
535设置图像高度。
536
537**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
538
539**起始版本:** 12
540
541
542**参数:**
543
544| 参数项 | 描述 |
545| -- | -- |
546| [OH_EffectBufferInfo](capi-imageeffect-oh-effectbufferinfo.md) *info | 图像信息指针。 |
547| int32_t height | 图像高度,单位:像素。 |
548
549**返回:**
550
551| 类型 | 说明 |
552| -- | -- |
553| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:入参为空指针。 |
554
555### OH_EffectBufferInfo_GetHeight()
556
557```
558ImageEffect_ErrorCode OH_EffectBufferInfo_GetHeight(OH_EffectBufferInfo *info, int32_t *height)
559```
560
561**描述**
562
563获取图像高度。
564
565**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
566
567**起始版本:** 12
568
569
570**参数:**
571
572| 参数项 | 描述 |
573| -- | -- |
574| [OH_EffectBufferInfo](capi-imageeffect-oh-effectbufferinfo.md) *info | 图像信息指针。 |
575| int32_t *height | 图像高度,单位:像素。 |
576
577**返回:**
578
579| 类型 | 说明 |
580| -- | -- |
581| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:入参为空指针。 |
582
583### OH_EffectBufferInfo_SetRowSize()
584
585```
586ImageEffect_ErrorCode OH_EffectBufferInfo_SetRowSize(OH_EffectBufferInfo *info, int32_t rowSize)
587```
588
589**描述**
590
591设置图像每一行的字节数。
592
593**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
594
595**起始版本:** 12
596
597
598**参数:**
599
600| 参数项 | 描述 |
601| -- | -- |
602| [OH_EffectBufferInfo](capi-imageeffect-oh-effectbufferinfo.md) *info | 图像信息指针。 |
603| int32_t rowSize | 图像每一行的字节数,单位:字节。 |
604
605**返回:**
606
607| 类型 | 说明 |
608| -- | -- |
609| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:入参为空指针。 |
610
611### OH_EffectBufferInfo_GetRowSize()
612
613```
614ImageEffect_ErrorCode OH_EffectBufferInfo_GetRowSize(OH_EffectBufferInfo *info, int32_t *rowSize)
615```
616
617**描述**
618
619获取图像每一行的字节数。
620
621**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
622
623**起始版本:** 12
624
625
626**参数:**
627
628| 参数项 | 描述 |
629| -- | -- |
630| [OH_EffectBufferInfo](capi-imageeffect-oh-effectbufferinfo.md) *info | 图像信息指针。 |
631| int32_t *rowSize | 图像每一行的字节数,单位:字节。 |
632
633**返回:**
634
635| 类型 | 说明 |
636| -- | -- |
637| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:入参为空指针。 |
638
639### OH_EffectBufferInfo_SetEffectFormat()
640
641```
642ImageEffect_ErrorCode OH_EffectBufferInfo_SetEffectFormat(OH_EffectBufferInfo *info, ImageEffect_Format format)
643```
644
645**描述**
646
647设置图像的像素格式。
648
649**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
650
651**起始版本:** 12
652
653
654**参数:**
655
656| 参数项 | 描述 |
657| -- | -- |
658| [OH_EffectBufferInfo](capi-imageeffect-oh-effectbufferinfo.md) *info | 图像信息指针。 |
659| [ImageEffect_Format](#imageeffect_format) format | 图像像素格式。 |
660
661**返回:**
662
663| 类型 | 说明 |
664| -- | -- |
665| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:入参为空指针。 |
666
667### OH_EffectBufferInfo_GetEffectFormat()
668
669```
670ImageEffect_ErrorCode OH_EffectBufferInfo_GetEffectFormat(OH_EffectBufferInfo *info, ImageEffect_Format *format)
671```
672
673**描述**
674
675获取图像的像素格式。
676
677**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
678
679**起始版本:** 12
680
681
682**参数:**
683
684| 参数项 | 描述 |
685| -- | -- |
686| [OH_EffectBufferInfo](capi-imageeffect-oh-effectbufferinfo.md) *info | 图像信息指针。 |
687| [ImageEffect_Format](#imageeffect_format) *format | 图像像素格式。 |
688
689**返回:**
690
691| 类型 | 说明 |
692| -- | -- |
693| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:入参为空指针。 |
694
695### OH_EffectBufferInfo_SetTextureId()
696
697```
698ImageEffect_ErrorCode OH_EffectBufferInfo_SetTextureId(OH_EffectBufferInfo *info, int32_t textureId)
699```
700
701**描述**
702
703设置OH_EffectBufferInfo的图像的textureId。
704
705**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
706
707**起始版本:** 20
708
709
710**参数:**
711
712| 参数项 | 描述 |
713| -- | -- |
714| [OH_EffectBufferInfo](capi-imageeffect-oh-effectbufferinfo.md) *info | OH_EffectBufferInfo结构体实例指针。 |
715| int32_t textureId | 图像纹理标识。 |
716
717**返回:**
718
719| 类型 | 说明 |
720| -- | -- |
721| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:参数缺失。 |
722
723### OH_EffectBufferInfo_GetTextureId()
724
725```
726ImageEffect_ErrorCode OH_EffectBufferInfo_GetTextureId(OH_EffectBufferInfo *info, int32_t *textureId)
727```
728
729**描述**
730
731从OH_EffectBufferInfo中获取图像的textureId。
732
733**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
734
735**起始版本:** 20
736
737
738**参数:**
739
740| 参数项 | 描述 |
741| -- | -- |
742| [OH_EffectBufferInfo](capi-imageeffect-oh-effectbufferinfo.md) *info | OH_EffectBufferInfo结构体实例指针。 |
743| int32_t *textureId | 图像纹理标识。 |
744
745**返回:**
746
747| 类型 | 说明 |
748| -- | -- |
749| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:参数缺失。 |
750
751### OH_EffectBufferInfo_Release()
752
753```
754ImageEffect_ErrorCode OH_EffectBufferInfo_Release(OH_EffectBufferInfo *info)
755```
756
757**描述**
758
759销毁OH_EffectBufferInfo实例。
760
761**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
762
763**起始版本:** 12
764
765
766**参数:**
767
768| 参数项 | 描述 |
769| -- | -- |
770| [OH_EffectBufferInfo](capi-imageeffect-oh-effectbufferinfo.md) *info | 图像信息指针。 |
771
772**返回:**
773
774| 类型 | 说明 |
775| -- | -- |
776| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:入参为空指针。 |
777
778### OH_EffectFilterDelegate_SetValue()
779
780```
781typedef bool (*OH_EffectFilterDelegate_SetValue)(OH_EffectFilter *filter, const char *key, const ImageEffect_Any *value)
782```
783
784**描述**
785
786自定义滤镜设置参数的回调函数,用于开发者校验参数及参数值。
787
788**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
789
790**起始版本:** 12
791
792
793**参数:**
794
795| 参数项 | 描述 |
796| -- | -- |
797| [OH_EffectFilter](capi-imageeffect-oh-effectfilter.md) *filter | 滤镜指针。 |
798|  const char *key | 滤镜参数。 |
799| [const ImageEffect_Any](capi-imageeffect-imageeffect-any.md) *value | 滤镜参数值。 |
800
801**返回:**
802
803| 类型 | 说明 |
804| -- | -- |
805| bool | 参数有效时返回true,否则返回false。 |
806
807### OH_EffectFilterDelegate_PushData()
808
809```
810typedef void (*OH_EffectFilterDelegate_PushData)(OH_EffectFilter *filter, OH_EffectBufferInfo *info)
811```
812
813**描述**
814
815自定义滤镜传递图像信息到下一级滤镜的函数指针。需要在[OH_EffectFilterDelegate_Render](#oh_effectfilterdelegate_render)的回调中主动调用该函数指针。
816
817**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
818
819**起始版本:** 12
820
821
822**参数:**
823
824| 参数项 | 描述 |
825| -- | -- |
826| [OH_EffectFilter](capi-imageeffect-oh-effectfilter.md) *filter | 滤镜指针。 |
827| [OH_EffectBufferInfo](capi-imageeffect-oh-effectbufferinfo.md) *info | 图像信息OH_EffectBufferInfo指针。 |
828
829### OH_EffectFilterDelegate_Render()
830
831```
832typedef bool (*OH_EffectFilterDelegate_Render)(OH_EffectFilter *filter, OH_EffectBufferInfo *info, OH_EffectFilterDelegate_PushData pushData)
833```
834
835**描述**
836
837自定义滤镜渲染图像的回调函数。
838
839**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
840
841**起始版本:** 12
842
843
844**参数:**
845
846| 参数项 | 描述 |
847| -- | -- |
848| [OH_EffectFilter](capi-imageeffect-oh-effectfilter.md) *filter | 滤镜指针。 |
849| [OH_EffectBufferInfo](capi-imageeffect-oh-effectbufferinfo.md) *info | 图像信息OH_EffectBufferInfo指针。 |
850| [OH_EffectFilterDelegate_PushData](#oh_effectfilterdelegate_pushdata) pushData | 自定义滤镜传递图像信息到下一级滤镜的函数指针OH_EffectFilterDelegate_PushData。 |
851
852**返回:**
853
854| 类型 | 说明 |
855| -- | -- |
856| bool | 执行成功时返回true,否则返回false。 |
857
858### OH_EffectFilterDelegate_Save()
859
860```
861typedef bool (*OH_EffectFilterDelegate_Save)(OH_EffectFilter *filter, char **info)
862```
863
864**描述**
865
866自定义滤镜序列化的回调函数,按照JSON格式进行滤镜序列化处理。
867
868**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
869
870**起始版本:** 12
871
872
873**参数:**
874
875| 参数项 | 描述 |
876| -- | -- |
877| [OH_EffectFilter](capi-imageeffect-oh-effectfilter.md) *filter | 滤镜指针。 |
878|  char **info | 指向char数组的指针,返回序列化JSON字符串。 |
879
880**返回:**
881
882| 类型 | 说明 |
883| -- | -- |
884| bool | 执行成功时返回true,否则返回false。 |
885
886### OH_EffectFilterDelegate_Restore()
887
888```
889typedef OH_EffectFilter *(*OH_EffectFilterDelegate_Restore)(const char *info)
890```
891
892**描述**
893
894自定义滤镜反序列化的回调函数。
895
896**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
897
898**起始版本:** 12
899
900
901**参数:**
902
903| 参数项 | 描述 |
904| -- | -- |
905| const char *info | 序列化JSON字符串。 |
906
907**返回:**
908
909| 类型 | 说明 |
910| -- | -- |
911| [OH_EffectFilter](capi-imageeffect-oh-effectfilter.md) * | 执行成功时返回OH_EffectFilter实例,否则返回空指针。 |
912
913### OH_EffectFilter_Create()
914
915```
916OH_EffectFilter *OH_EffectFilter_Create(const char *name)
917```
918
919**描述**
920
921创建OH_EffectFilter实例,调用[OH_EffectFilter_Release](#oh_effectfilter_release)进行资源释放。
922
923**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
924
925**起始版本:** 12
926
927
928**参数:**
929
930| 参数项 | 描述 |
931| -- | -- |
932| const char *name | 滤镜名,例如:OH_EFFECT_BRIGHTNESS_FILTER。 |
933
934**返回:**
935
936| 类型 | 说明 |
937| -- | -- |
938| [OH_EffectFilter](capi-imageeffect-oh-effectfilter.md) * | 返回一个指向OH_EffectFilter实例的指针,创建失败时返回空指针。 |
939
940### OH_EffectFilter_SetValue()
941
942```
943ImageEffect_ErrorCode OH_EffectFilter_SetValue(OH_EffectFilter *filter, const char *key, const ImageEffect_Any *value)
944```
945
946**描述**
947
948设置滤镜参数。
949
950**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
951
952**起始版本:** 12
953
954
955**参数:**
956
957| 参数项 | 描述 |
958| -- | -- |
959| [OH_EffectFilter](capi-imageeffect-oh-effectfilter.md) *filter | 滤镜指针。 |
960| const char *key | 滤镜参数,例如:OH_EFFECT_FILTER_INTENSITY_KEY。 |
961| [const ImageEffect_Any](capi-imageeffect-imageeffect-any.md) *value | 滤镜参数值。 |
962
963**返回:**
964
965| 类型 | 说明 |
966| -- | -- |
967| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:入参为空指针。<br>         EFFECT_KEY_ERROR:参数无效。<br>         EFFECT_PARAM_ERROR:参数值无效。 |
968
969### OH_EffectFilter_GetValue()
970
971```
972ImageEffect_ErrorCode OH_EffectFilter_GetValue(OH_EffectFilter *filter, const char *key, ImageEffect_Any *value)
973```
974
975**描述**
976
977获取滤镜参数。
978
979**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
980
981**起始版本:** 12
982
983
984**参数:**
985
986| 参数项 | 描述 |
987| -- | -- |
988| [OH_EffectFilter](capi-imageeffect-oh-effectfilter.md) *filter | 滤镜指针。 |
989| const char *key | 滤镜参数,例如:OH_EFFECT_FILTER_INTENSITY_KEY。 |
990| [ImageEffect_Any](capi-imageeffect-imageeffect-any.md) *value | 滤镜参数值。 |
991
992**返回:**
993
994| 类型 | 说明 |
995| -- | -- |
996| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:入参为空指针。<br>         EFFECT_KEY_ERROR:参数无效。 |
997
998### OH_EffectFilter_Register()
999
1000```
1001ImageEffect_ErrorCode OH_EffectFilter_Register(const OH_EffectFilterInfo *info, const ImageEffect_FilterDelegate *delegate)
1002```
1003
1004**描述**
1005
1006注册自定义滤镜。
1007
1008**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
1009
1010**起始版本:** 12
1011
1012
1013**参数:**
1014
1015| 参数项 | 描述 |
1016| -- | -- |
1017| [const OH_EffectFilterInfo](capi-imageeffect-oh-effectfilterinfo.md) *info | 滤镜信息指针OH_EffectFilterInfo。 |
1018| [const ImageEffect_FilterDelegate](capi-imageeffect-imageeffect-filterdelegate.md) *delegate | 自定义滤镜回调函数ImageEffect_FilterDelegate。 |
1019
1020**返回:**
1021
1022| 类型 | 说明 |
1023| -- | -- |
1024| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:入参为空指针。 |
1025
1026### OH_EffectFilter_LookupFilters()
1027
1028```
1029ImageEffect_FilterNames *OH_EffectFilter_LookupFilters(const char *key)
1030```
1031
1032**描述**
1033
1034查询满足条件的滤镜。
1035
1036**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
1037
1038**起始版本:** 12
1039
1040
1041**参数:**
1042
1043| 参数项 | 描述 |
1044| -- | -- |
1045| const char *key | 查询条件,可根据“Default”关键词查询所有的滤镜。 |
1046
1047**返回:**
1048
1049| 类型 | 说明 |
1050| -- | -- |
1051| [ImageEffect_FilterNames](capi-imageeffect-imageeffect-filternames.md) * | 滤镜名列表。 |
1052
1053### OH_EffectFilter_ReleaseFilterNames()
1054
1055```
1056void OH_EffectFilter_ReleaseFilterNames()
1057```
1058
1059**描述**
1060
1061释放滤镜名内存资源。
1062
1063**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
1064
1065**起始版本:** 12
1066
1067### OH_EffectFilter_LookupFilterInfo()
1068
1069```
1070ImageEffect_ErrorCode OH_EffectFilter_LookupFilterInfo(const char *name, OH_EffectFilterInfo *info)
1071```
1072
1073**描述**
1074
1075查询滤镜信息。
1076
1077**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
1078
1079**起始版本:** 12
1080
1081
1082**参数:**
1083
1084| 参数项 | 描述 |
1085| -- | -- |
1086| const char *name | 滤镜名。 |
1087| [OH_EffectFilterInfo](capi-imageeffect-oh-effectfilterinfo.md) *info | 滤镜信息指针OH_EffectFilterInfo。 |
1088
1089**返回:**
1090
1091| 类型 | 说明 |
1092| -- | -- |
1093| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:入参为空指针或其他无效值。 |
1094
1095### OH_EffectFilter_Render()
1096
1097```
1098ImageEffect_ErrorCode OH_EffectFilter_Render(OH_EffectFilter *filter, OH_PixelmapNative *inputPixelmap, OH_PixelmapNative *outputPixelmap)
1099```
1100
1101**描述**
1102
1103执行图像渲染。
1104
1105**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
1106
1107**起始版本:** 12
1108
1109
1110**参数:**
1111
1112| 参数项 | 描述 |
1113| -- | -- |
1114| [OH_EffectFilter](capi-imageeffect-oh-effectfilter.md) *filter | 滤镜指针。 |
1115| [OH_PixelmapNative](capi-image-nativemodule-oh-pixelmapnative.md) *inputPixelmap | 输入图像。 |
1116| [OH_PixelmapNative](capi-image-nativemodule-oh-pixelmapnative.md) *outputPixelmap | 输出图像。 |
1117
1118**返回:**
1119
1120| 类型 | 说明 |
1121| -- | -- |
1122| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:入参为空指针。 |
1123
1124### OH_EffectFilter_RenderWithTextureId()
1125
1126```
1127ImageEffect_ErrorCode OH_EffectFilter_RenderWithTextureId(OH_EffectFilter *filter, int32_t inputTextureId, int32_t outputTextureId, int32_t colorSpace)
1128```
1129
1130**描述**
1131
1132使用纹理标识渲染滤镜效果。该函数不支持相同的输入和输出图像。
1133
1134**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
1135
1136**起始版本:** 20
1137
1138
1139**参数:**
1140
1141| 参数项 | 描述 |
1142| -- | -- |
1143| [OH_EffectFilter](capi-imageeffect-oh-effectfilter.md) *filter | OH_EffectFilter结构体实例指针。 |
1144| int32_t inputTextureId | 输入纹理标识。输入的纹理标识必须是有效的且绑定了GL_TEXTURE_2D类型的纹理。 |
1145| int32_t outputTextureId | 输出纹理标识,输入纹理标识必须是一个有效的纹理。<br> 如果纹理标识未被绑定纹理图片,纹理标识会自动绑定GL_TEXTURE_2D类型;<br> 如果纹理标识已经被绑定纹理且尺寸不合适,结果可能会被裁剪或部分填充到此纹理上。 |
1146| int32_t colorSpace | 图片对应的色彩空间。 |
1147
1148**返回:**
1149
1150| 类型 | 说明 |
1151| -- | -- |
1152| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:参数缺失。 |
1153
1154### OH_EffectFilter_Release()
1155
1156```
1157ImageEffect_ErrorCode OH_EffectFilter_Release(OH_EffectFilter *filter)
1158```
1159
1160**描述**
1161
1162销毁OH_EffectFilter实例。
1163
1164**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
1165
1166**起始版本:** 12
1167
1168
1169**参数:**
1170
1171| 参数项 | 描述 |
1172| -- | -- |
1173| [OH_EffectFilter](capi-imageeffect-oh-effectfilter.md) *filter | 滤镜指针。 |
1174
1175**返回:**
1176
1177| 类型 | 说明 |
1178| -- | -- |
1179| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:入参为空指针。 |
1180
1181### OH_EffectBufferInfo_SetTimestamp()
1182
1183```
1184ImageEffect_ErrorCode OH_EffectBufferInfo_SetTimestamp(OH_EffectBufferInfo *info, int64_t timestamp)
1185```
1186
1187**描述**
1188
1189设置滤镜时间戳。
1190
1191**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
1192
1193**起始版本:** 12
1194
1195
1196**参数:**
1197
1198| 参数项 | 描述 |
1199| -- | -- |
1200| [OH_EffectBufferInfo](capi-imageeffect-oh-effectbufferinfo.md) *info | 图像信息指针。 |
1201| int64_t timestamp | 图像帧数据的时间戳。 |
1202
1203**返回:**
1204
1205| 类型 | 说明 |
1206| -- | -- |
1207| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:入参为空指针。 |
1208
1209### OH_EffectBufferInfo_GetTimestamp()
1210
1211```
1212ImageEffect_ErrorCode OH_EffectBufferInfo_GetTimestamp(OH_EffectBufferInfo *info, int64_t *timestamp)
1213```
1214
1215**描述**
1216
1217获取滤镜时间戳。
1218
1219**系统能力:** SystemCapability.Multimedia.ImageEffect.Core
1220
1221**起始版本:** 12
1222
1223
1224**参数:**
1225
1226| 参数项 | 描述 |
1227| -- | -- |
1228| [OH_EffectBufferInfo](capi-imageeffect-oh-effectbufferinfo.md) *info | 图像信息指针。 |
1229| int64_t *timestamp | 图像帧数据的时间戳。 |
1230
1231**返回:**
1232
1233| 类型 | 说明 |
1234| -- | -- |
1235| [ImageEffect_ErrorCode](capi-image-effect-errors-h.md#imageeffect_errorcode) | EFFECT_SUCCESS:方法调用成功。<br>         EFFECT_ERROR_PARAM_INVALID:入参为空指针。 |
1236
1237
1238