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