harmony 鸿蒙image_effect_filter.h
image_effect_filter.h
概述
声明滤镜相关接口。
开发者可以通过滤镜的接口快速实现基本的效果处理,也可以将滤镜添加到效果器中,组合成滤镜链串联执行。系统提供了如“亮度”、“裁剪”等基本的效果处理滤镜。
库: libimage_effect.so
引用文件:
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
相关模块: ImageEffect
汇总
结构体
|名称|typedef关键字|描述| |–|–|–| |ImageEffect_DataValue|ImageEffect_DataValue|数据值联合体。| |OH_EffectFilter|OH_EffectFilter|定义滤镜结构类型。| |OH_EffectFilterInfo|OH_EffectFilterInfo|定义滤镜信息结构体。| |OH_EffectBufferInfo|OH_EffectBufferInfo|定义图像信息。| |ImageEffect_Any|ImageEffect_Any|参数结构体。| |ImageEffect_FilterNames|ImageEffect_FilterNames|滤镜名信息。| |ImageEffect_FilterDelegate|ImageEffect_FilterDelegate|自定义滤镜回调函数结构体。| |ImageEffect_Region|ImageEffect_Region|图像区域结构体。| |ImageEffect_Size|ImageEffect_Size|图像尺寸结构体。|
枚举
|名称|typedef关键字|描述| |–|–|–| |ImageEffect_DataType|ImageEffect_DataType|数据类型枚举值。| |ImageEffect_Format|ImageEffect_Format|像素格式枚举值。| |ImageEffect_BufferType|ImageEffect_BufferType|内存类型枚举值。|
函数
|名称|typedef关键字|描述| |–|–|–| |OH_EffectFilterInfo *OH_EffectFilterInfo_Create()|-|创建OH_EffectFilterInfo实例,调用OH_EffectFilterInfo_Release进行资源释放。| |ImageEffect_ErrorCode OH_EffectFilterInfo_SetFilterName(OH_EffectFilterInfo *info, const char *name)|-|设置滤镜名。| |ImageEffect_ErrorCode OH_EffectFilterInfo_GetFilterName(OH_EffectFilterInfo *info, char **name)|-|获取滤镜名。| |ImageEffect_ErrorCode OH_EffectFilterInfo_SetSupportedBufferTypes(OH_EffectFilterInfo *info, uint32_t size,ImageEffect_BufferType *bufferTypeArray)|-|设置滤镜所支持的内存类型。| |ImageEffect_ErrorCode OH_EffectFilterInfo_GetSupportedBufferTypes(OH_EffectFilterInfo *info, uint32_t *size,ImageEffect_BufferType **bufferTypeArray)|-|获取滤镜所支持的内存类型。| |ImageEffect_ErrorCode OH_EffectFilterInfo_SetSupportedFormats(OH_EffectFilterInfo *info, uint32_t size,ImageEffect_Format *formatArray)|-|设置滤镜所支持的像素格式。| |ImageEffect_ErrorCode OH_EffectFilterInfo_GetSupportedFormats(OH_EffectFilterInfo *info, uint32_t *size,ImageEffect_Format **formatArray)|-|获取滤镜所支持的像素格式。| |ImageEffect_ErrorCode OH_EffectFilterInfo_Release(OH_EffectFilterInfo *info)|-|销毁OH_EffectFilterInfo实例。| |OH_EffectBufferInfo *OH_EffectBufferInfo_Create()|-|创建OH_EffectBufferInfo实例,调用OH_EffectBufferInfo_Release进行资源释放。| |ImageEffect_ErrorCode OH_EffectBufferInfo_SetAddr(OH_EffectBufferInfo *info, void *addr)|-|设置图像内存地址。| |ImageEffect_ErrorCode OH_EffectBufferInfo_GetAddr(OH_EffectBufferInfo *info, void **addr)|-|获取图像内存地址。| |ImageEffect_ErrorCode OH_EffectBufferInfo_SetWidth(OH_EffectBufferInfo *info, int32_t width)|-|设置图像宽度。| |ImageEffect_ErrorCode OH_EffectBufferInfo_GetWidth(OH_EffectBufferInfo *info, int32_t *width)|-|获取图像宽度。| |ImageEffect_ErrorCode OH_EffectBufferInfo_SetHeight(OH_EffectBufferInfo *info, int32_t height)|-|设置图像高度。| |ImageEffect_ErrorCode OH_EffectBufferInfo_GetHeight(OH_EffectBufferInfo *info, int32_t *height)|-|获取图像高度。| |ImageEffect_ErrorCode OH_EffectBufferInfo_SetRowSize(OH_EffectBufferInfo *info, int32_t rowSize)|-|设置图像每一行的字节数。| |ImageEffect_ErrorCode OH_EffectBufferInfo_GetRowSize(OH_EffectBufferInfo *info, int32_t *rowSize)|-|获取图像每一行的字节数。| |ImageEffect_ErrorCode OH_EffectBufferInfo_SetEffectFormat(OH_EffectBufferInfo *info, ImageEffect_Format format)|-|设置图像的像素格式。| |ImageEffect_ErrorCode OH_EffectBufferInfo_GetEffectFormat(OH_EffectBufferInfo *info, ImageEffect_Format *format)|-|获取图像的像素格式。| |ImageEffect_ErrorCode OH_EffectBufferInfo_Release(OH_EffectBufferInfo *info)|-|销毁OH_EffectBufferInfo实例。| |typedef bool (*OH_EffectFilterDelegate_SetValue)(OH_EffectFilter *filter, const char *key,const ImageEffect_Any *value)|OH_EffectFilterDelegate_SetValue|自定义滤镜设置参数的回调函数,用于开发者校验参数及参数值。| |typedef void (*OH_EffectFilterDelegate_PushData)(OH_EffectFilter *filter, OH_EffectBufferInfo *info)|OH_EffectFilterDelegate_PushData|自定义滤镜传递图像信息到下一级滤镜的函数指针。需要在OH_EffectFilterDelegate_Render的回调中主动调用该函数指针。| |typedef bool (*OH_EffectFilterDelegate_Render)(OH_EffectFilter *filter, OH_EffectBufferInfo *info,OH_EffectFilterDelegate_PushData pushData)|OH_EffectFilterDelegate_Render|自定义滤镜渲染图像的回调函数。| |typedef bool (*OH_EffectFilterDelegate_Save)(OH_EffectFilter *filter, char **info)|OH_EffectFilterDelegate_Save|自定义滤镜序列化的回调函数,按照JSON格式进行滤镜序列化处理。| |typedef OH_EffectFilter *(*OH_EffectFilterDelegate_Restore)(const char *info)|OH_EffectFilterDelegate_Restore|自定义滤镜反序列化的回调函数。| |OH_EffectFilter *OH_EffectFilter_Create(const char *name)|-|创建OH_EffectFilter实例,调用OH_EffectFilter_Release进行资源释放。| |ImageEffect_ErrorCode OH_EffectFilter_SetValue(OH_EffectFilter *filter, const char *key, const ImageEffect_Any *value)|-|设置滤镜参数。| |ImageEffect_ErrorCode OH_EffectFilter_GetValue(OH_EffectFilter *filter, const char *key, ImageEffect_Any *value)|-|获取滤镜参数。| |ImageEffect_ErrorCode OH_EffectFilter_Register(const OH_EffectFilterInfo *info,const ImageEffect_FilterDelegate *delegate)|-|注册自定义滤镜。| |ImageEffect_FilterNames *OH_EffectFilter_LookupFilters(const char *key)|-|查询满足条件的滤镜。| |void OH_EffectFilter_ReleaseFilterNames()|-|释放滤镜名内存资源。| |ImageEffect_ErrorCode OH_EffectFilter_LookupFilterInfo(const char *name, OH_EffectFilterInfo *info)|-|查询滤镜信息。| |ImageEffect_ErrorCode OH_EffectFilter_Render(OH_EffectFilter *filter, OH_PixelmapNative *inputPixelmap,OH_PixelmapNative *outputPixelmap)|-|执行图像渲染。| |ImageEffect_ErrorCode OH_EffectFilter_Release(OH_EffectFilter *filter)|-|销毁OH_EffectFilter实例。|
枚举类型说明
ImageEffect_DataType
enum ImageEffect_DataType
描述
数据类型枚举值。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
|枚举项|描述| |–|–| |EFFECT_DATA_TYPE_UNKNOWN = 0|未定义类型。| |EFFECT_DATA_TYPE_INT32 = 1|整形。| |EFFECT_DATA_TYPE_FLOAT = 2|单精度浮点型。| |EFFECT_DATA_TYPE_DOUBLE = 3|双精度浮点型。| |EFFECT_DATA_TYPE_CHAR = 4|字节类型。| |EFFECT_DATA_TYPE_LONG = 5|长整型。| |EFFECT_DATA_TYPE_BOOL = 6|布尔类型。| |EFFECT_DATA_TYPE_PTR = 7|指针类型。|
ImageEffect_Format
enum ImageEffect_Format
描述
像素格式枚举值。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
|枚举项|描述| |–|–| |EFFECT_PIXEL_FORMAT_UNKNOWN = 0|未定义类型。| |EFFECT_PIXEL_FORMAT_RGBA8888 = 1|RGBA8888类型。| |EFFECT_PIXEL_FORMAT_NV21 = 2|NV21类型。| |EFFECT_PIXEL_FORMAT_NV12 = 3|NV12类型。| |EFFECT_PIXEL_FORMAT_RGBA1010102 = 4|10bit RGBA类型。| |EFFECT_PIXEL_FORMAT_YCBCR_P010 = 5|10bit YCBCR420类型。| |EFFECT_PIXEL_FORMAT_YCRCB_P010 = 6|10bit YCRCB420类型。|
ImageEffect_BufferType
enum ImageEffect_BufferType
描述
内存类型枚举值。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
|枚举项|描述| |–|–| |EFFECT_BUFFER_TYPE_UNKNOWN = 0|未定义类型。| |EFFECT_BUFFER_TYPE_PIXEL = 1|像素图类型。| |EFFECT_BUFFER_TYPE_TEXTURE = 2|纹理类型。|
函数说明
OH_EffectFilterInfo_Create()
OH_EffectFilterInfo *OH_EffectFilterInfo_Create()
描述
创建OH_EffectFilterInfo实例,调用OH_EffectFilterInfo_Release进行资源释放。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
返回:
|类型|说明| |–|–| |OH_EffectFilterInfo|返回一个指向OH_EffectFilterInfo实例的指针,创建失败时返回空指针。|
OH_EffectFilterInfo_SetFilterName()
ImageEffect_ErrorCode OH_EffectFilterInfo_SetFilterName(OH_EffectFilterInfo *info, const char *name)
描述
设置滤镜名。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_EffectFilterInfo *info|滤镜信息指针。| |const char *name|滤镜名,例如:OH_EFFECT_BRIGHTNESS_FILTER。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_EffectFilterInfo_GetFilterName()
ImageEffect_ErrorCode OH_EffectFilterInfo_GetFilterName(OH_EffectFilterInfo *info, char **name)
描述
获取滤镜名。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_EffectFilterInfo *info|滤镜信息指针。| |char **name|指向char数组的指针,返回滤镜名。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_EffectFilterInfo_SetSupportedBufferTypes()
ImageEffect_ErrorCode OH_EffectFilterInfo_SetSupportedBufferTypes(OH_EffectFilterInfo *info, uint32_t size,ImageEffect_BufferType *bufferTypeArray)
描述
设置滤镜所支持的内存类型。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_EffectFilterInfo *info|滤镜信息指针。| |uint32_t size|滤镜所支持内存类型ImageEffect_BufferType个数。| |ImageEffect_BufferType *bufferTypeArray|滤镜所支持内存类型ImageEffect_BufferType数组。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_EffectFilterInfo_GetSupportedBufferTypes()
ImageEffect_ErrorCode OH_EffectFilterInfo_GetSupportedBufferTypes(OH_EffectFilterInfo *info, uint32_t *size,ImageEffect_BufferType **bufferTypeArray)
描述
获取滤镜所支持的内存类型。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_EffectFilterInfo *info|滤镜信息指针。| |uint32_t *size|滤镜所支持内存类型ImageEffect_BufferType个数。| |ImageEffect_BufferType **bufferTypeArray|滤镜所支持内存类型ImageEffect_BufferType数组。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_EffectFilterInfo_SetSupportedFormats()
ImageEffect_ErrorCode OH_EffectFilterInfo_SetSupportedFormats(OH_EffectFilterInfo *info, uint32_t size,ImageEffect_Format *formatArray)
描述
设置滤镜所支持的像素格式。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_EffectFilterInfo *info|滤镜信息指针。| |uint32_t size|滤镜所支持像素格式ImageEffect_Format个数。| |ImageEffect_Format *formatArray|滤镜所支持像素格式ImageEffect_Format数组。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_EffectFilterInfo_GetSupportedFormats()
ImageEffect_ErrorCode OH_EffectFilterInfo_GetSupportedFormats(OH_EffectFilterInfo *info, uint32_t *size,ImageEffect_Format **formatArray)
描述
获取滤镜所支持的像素格式。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_EffectFilterInfo *info|滤镜信息指针。| |uint32_t *size|滤镜所支持像素格式ImageEffect_Format个数。| |ImageEffect_Format **formatArray|滤镜所支持像素格式ImageEffect_Format数组。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_EffectFilterInfo_Release()
ImageEffect_ErrorCode OH_EffectFilterInfo_Release(OH_EffectFilterInfo *info)
描述
销毁OH_EffectFilterInfo实例。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_EffectFilterInfo *info|滤镜信息指针。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_EffectBufferInfo_Create()
OH_EffectBufferInfo *OH_EffectBufferInfo_Create()
描述
创建OH_EffectBufferInfo实例,调用OH_EffectBufferInfo_Release进行资源释放。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
返回:
|类型|说明| |–|–| |OH_EffectBufferInfo|返回一个指向OH_EffectBufferInfo实例的指针,创建失败时返回空指针。|
OH_EffectBufferInfo_SetAddr()
ImageEffect_ErrorCode OH_EffectBufferInfo_SetAddr(OH_EffectBufferInfo *info, void *addr)
描述
设置图像内存地址。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_EffectBufferInfo *info|图像信息指针。| |void *addr|图像虚拟内存地址。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_EffectBufferInfo_GetAddr()
ImageEffect_ErrorCode OH_EffectBufferInfo_GetAddr(OH_EffectBufferInfo *info, void **addr)
描述
获取图像内存地址。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_EffectBufferInfo *info|图像信息指针。| |void **addr|图像虚拟内存地址。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_EffectBufferInfo_SetWidth()
ImageEffect_ErrorCode OH_EffectBufferInfo_SetWidth(OH_EffectBufferInfo *info, int32_t width)
描述
设置图像宽度。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_EffectBufferInfo *info|图像信息指针。| |int32_t width|图像宽度,单位:像素。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_EffectBufferInfo_GetWidth()
ImageEffect_ErrorCode OH_EffectBufferInfo_GetWidth(OH_EffectBufferInfo *info, int32_t *width)
描述
获取图像宽度。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_EffectBufferInfo *info|图像信息指针。| |int32_t *width|图像宽度,单位:像素。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_EffectBufferInfo_SetHeight()
ImageEffect_ErrorCode OH_EffectBufferInfo_SetHeight(OH_EffectBufferInfo *info, int32_t height)
描述
设置图像高度。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_EffectBufferInfo *info|图像信息指针。| |int32_t height|图像高度,单位:像素。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_EffectBufferInfo_GetHeight()
ImageEffect_ErrorCode OH_EffectBufferInfo_GetHeight(OH_EffectBufferInfo *info, int32_t *height)
描述
获取图像高度。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_EffectBufferInfo *info|图像信息指针。| |int32_t *height|图像高度,单位:像素。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_EffectBufferInfo_SetRowSize()
ImageEffect_ErrorCode OH_EffectBufferInfo_SetRowSize(OH_EffectBufferInfo *info, int32_t rowSize)
描述
设置图像每一行的字节数。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_EffectBufferInfo *info|图像信息指针。| |int32_t rowSize|图像每一行的字节数,单位:字节。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_EffectBufferInfo_GetRowSize()
ImageEffect_ErrorCode OH_EffectBufferInfo_GetRowSize(OH_EffectBufferInfo *info, int32_t *rowSize)
描述
获取图像每一行的字节数。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_EffectBufferInfo *info|图像信息指针。| |int32_t *rowSize|图像每一行的字节数,单位:字节。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_EffectBufferInfo_SetEffectFormat()
ImageEffect_ErrorCode OH_EffectBufferInfo_SetEffectFormat(OH_EffectBufferInfo *info, ImageEffect_Format format)
描述
设置图像的像素格式。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_EffectBufferInfo *info|图像信息指针。| |ImageEffect_Format format|图像像素格式。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_EffectBufferInfo_GetEffectFormat()
ImageEffect_ErrorCode OH_EffectBufferInfo_GetEffectFormat(OH_EffectBufferInfo *info, ImageEffect_Format *format)
描述
获取图像的像素格式。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_EffectBufferInfo *info|图像信息指针。| |ImageEffect_Format *format|图像像素格式。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_EffectBufferInfo_Release()
ImageEffect_ErrorCode OH_EffectBufferInfo_Release(OH_EffectBufferInfo *info)
描述
销毁OH_EffectBufferInfo实例。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_EffectBufferInfo *info|图像信息指针。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_EffectFilterDelegate_SetValue()
typedef bool (*OH_EffectFilterDelegate_SetValue)(OH_EffectFilter *filter, const char *key,const ImageEffect_Any *value)
描述
自定义滤镜设置参数的回调函数,用于开发者校验参数及参数值。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_EffectFilter *filter|滤镜指针。| | const char *key|滤镜参数。| |const ImageEffect_Any *value|滤镜参数值。|
返回:
|类型|说明| |–|–| |bool|参数有效时返回true,否则返回false。|
OH_EffectFilterDelegate_PushData()
typedef void (*OH_EffectFilterDelegate_PushData)(OH_EffectFilter *filter, OH_EffectBufferInfo *info)
描述
自定义滤镜传递图像信息到下一级滤镜的函数指针。需要在OH_EffectFilterDelegate_Render的回调中主动调用该函数指针。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_EffectFilter *filter|滤镜指针。| | OH_EffectBufferInfo *info|图像信息OH_EffectBufferInfo指针。|
OH_EffectFilterDelegate_Render()
typedef bool (*OH_EffectFilterDelegate_Render)(OH_EffectFilter *filter, OH_EffectBufferInfo *info,OH_EffectFilterDelegate_PushData pushData)
描述
自定义滤镜渲染图像的回调函数。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_EffectFilter *filter|滤镜指针。| |OH_EffectBufferInfo *info|图像信息OH_EffectBufferInfo指针。| |OH_EffectFilterDelegate_PushData pushData|自定义滤镜传递图像信息到下一级滤镜的函数指针OH_EffectFilterDelegate_PushData。|
返回:
|类型|说明| |–|–| |bool|执行成功时返回true,否则返回false。|
OH_EffectFilterDelegate_Save()
typedef bool (*OH_EffectFilterDelegate_Save)(OH_EffectFilter *filter, char **info)
描述
自定义滤镜序列化的回调函数,按照JSON格式进行滤镜序列化处理。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_EffectFilter *filter|滤镜指针。| | char **info|指向char数组的指针,返回序列化JSON字符串。|
返回:
|类型|说明| |–|–| |bool|执行成功时返回true,否则返回false。|
OH_EffectFilterDelegate_Restore()
typedef OH_EffectFilter *(*OH_EffectFilterDelegate_Restore)(const char *info)
描述
自定义滤镜反序列化的回调函数。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |const char *info|序列化JSON字符串。|
返回:
|类型|说明| |–|–| |OH_EffectFilter|执行成功时返回OH_EffectFilter实例,否则返回空指针。|
OH_EffectFilter_Create()
OH_EffectFilter *OH_EffectFilter_Create(const char *name)
描述
创建OH_EffectFilter实例,调用OH_EffectFilter_Release进行资源释放。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |const char *name|滤镜名,例如:OH_EFFECT_BRIGHTNESS_FILTER。|
返回:
|类型|说明| |–|–| |OH_EffectFilter|返回一个指向OH_EffectFilter实例的指针,创建失败时返回空指针。|
OH_EffectFilter_SetValue()
ImageEffect_ErrorCode OH_EffectFilter_SetValue(OH_EffectFilter *filter, const char *key, const ImageEffect_Any *value)
描述
设置滤镜参数。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_EffectFilter *filter|滤镜指针。| |const char *key|滤镜参数,例如:OH_EFFECT_FILTER_INTENSITY_KEY。| |const ImageEffect_Any *value|滤镜参数值。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。
EFFECT_KEY_ERROR:参数无效。
EFFECT_PARAM_ERROR:参数值无效。|
OH_EffectFilter_GetValue()
ImageEffect_ErrorCode OH_EffectFilter_GetValue(OH_EffectFilter *filter, const char *key, ImageEffect_Any *value)
描述
获取滤镜参数。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_EffectFilter *filter|滤镜指针。| |const char *key|滤镜参数,例如:OH_EFFECT_FILTER_INTENSITY_KEY。| |ImageEffect_Any *value|滤镜参数值。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。
EFFECT_KEY_ERROR:参数无效。|
OH_EffectFilter_Register()
ImageEffect_ErrorCode OH_EffectFilter_Register(const OH_EffectFilterInfo *info,const ImageEffect_FilterDelegate *delegate)
描述
注册自定义滤镜。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |const OH_EffectFilterInfo *info|滤镜信息指针OH_EffectFilterInfo。| |const ImageEffect_FilterDelegate *delegate|自定义滤镜回调函数ImageEffect_FilterDelegate。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_EffectFilter_LookupFilters()
ImageEffect_FilterNames *OH_EffectFilter_LookupFilters(const char *key)
描述
查询满足条件的滤镜。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |const char *key|查询条件,可根据“Default”关键词查询所有的滤镜。|
返回:
|类型|说明| |–|–| |ImageEffect_FilterNames|滤镜名列表。|
OH_EffectFilter_ReleaseFilterNames()
void OH_EffectFilter_ReleaseFilterNames()
描述
释放滤镜名内存资源。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
OH_EffectFilter_LookupFilterInfo()
ImageEffect_ErrorCode OH_EffectFilter_LookupFilterInfo(const char *name, OH_EffectFilterInfo *info)
描述
查询滤镜信息。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |const char *name|滤镜名。| |OH_EffectFilterInfo *info|滤镜信息指针OH_EffectFilterInfo。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针或其他无效值。|
OH_EffectFilter_Render()
ImageEffect_ErrorCode OH_EffectFilter_Render(OH_EffectFilter *filter, OH_PixelmapNative *inputPixelmap,OH_PixelmapNative *outputPixelmap)
描述
执行图像渲染。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_EffectFilter *filter|滤镜指针。| |OH_PixelmapNative *inputPixelmap|输入图像。| |OH_PixelmapNative *outputPixelmap|输出图像。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_EffectFilter_Release()
ImageEffect_ErrorCode OH_EffectFilter_Release(OH_EffectFilter *filter)
描述
销毁OH_EffectFilter实例。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_EffectFilter *filter|滤镜指针。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
你可能感兴趣的鸿蒙文章
harmony 鸿蒙Interface (AuxiliaryPicture)
harmony 鸿蒙Interface (ImageCreator)
harmony 鸿蒙Interface (ImagePacker)
harmony 鸿蒙Interface (ImageReceiver)
harmony 鸿蒙Interface (ImageSource)
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦