harmony 鸿蒙image_effect.h
image_effect.h
概述
声明效果器相关接口。效果器提供了滤镜的添加、删除、查询等功能。
开发者可以通过效果器提供的接口将多个滤镜组合串联,从而实现较为复杂的效果调节功能。
同时,效果器支持多种输入类型,如Pixelmap、URI、Surface、Picture。不同的输入类型在效果器内部都会转换为内存对象,通过滤镜的效果处理,获得处理结果。
库: libimage_effect.so
引用文件:
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
相关模块: ImageEffect
汇总
结构体
|名称|typedef关键字|描述| |–|–|–| |OH_ImageEffect|OH_ImageEffect|定义效果器结构类型。|
函数
|名称|描述| |–|–| |OH_ImageEffect *OH_ImageEffect_Create(const char *name)|创建OH_ImageEffect实例,调用OH_ImageEffect_Release进行资源释放。| |OH_EffectFilter *OH_ImageEffect_AddFilter(OH_ImageEffect *imageEffect, const char *filterName)|添加滤镜。| |ImageEffect_ErrorCode OH_ImageEffect_AddFilterByFilter(OH_ImageEffect *imageEffect, OH_EffectFilter *filter)|添加指定滤镜。| |OH_EffectFilter *OH_ImageEffect_InsertFilter(OH_ImageEffect *imageEffect, uint32_t index, const char *filterName)|插入滤镜。| |ImageEffect_ErrorCode OH_ImageEffect_InsertFilterByFilter(OH_ImageEffect *imageEffect, uint32_t index,OH_EffectFilter *filter)|按指定位置插入滤镜。| |int32_t OH_ImageEffect_RemoveFilter(OH_ImageEffect *imageEffect, const char *filterName)|移除滤镜。| |ImageEffect_ErrorCode OH_ImageEffect_RemoveFilterByIndex(OH_ImageEffect *imageEffect, uint32_t index)|移除指定位置滤镜。| |OH_EffectFilter *OH_ImageEffect_ReplaceFilter(OH_ImageEffect *imageEffect, uint32_t index, const char *filterName)|替换滤镜。| |ImageEffect_ErrorCode OH_ImageEffect_ReplaceFilterByFilter(OH_ImageEffect *imageEffect, uint32_t index,const char *filterName)|替换指定位置滤镜。| |int32_t OH_ImageEffect_GetFilterCount(OH_ImageEffect *imageEffect)|查询已添加滤镜个数。| |OH_EffectFilter *OH_ImageEffect_GetFilter(OH_ImageEffect *imageEffect, uint32_t index)|查询已添加滤镜。| |ImageEffect_ErrorCode OH_ImageEffect_Configure(OH_ImageEffect *imageEffect, const char *key,const ImageEffect_Any *value)|设置配置信息。| |ImageEffect_ErrorCode OH_ImageEffect_SetOutputSurface(OH_ImageEffect *imageEffect, OHNativeWindow *nativeWindow)|设置输出Surface。| |ImageEffect_ErrorCode OH_ImageEffect_GetInputSurface(OH_ImageEffect *imageEffect, OHNativeWindow **nativeWindow)|获取输入Surface。| |ImageEffect_ErrorCode OH_ImageEffect_SetInputPixelmap(OH_ImageEffect *imageEffect, OH_PixelmapNative *pixelmap)|设置输入的Pixelmap。| |ImageEffect_ErrorCode OH_ImageEffect_SetOutputPixelmap(OH_ImageEffect *imageEffect, OH_PixelmapNative *pixelmap)|设置输出的Pixelmap。| |ImageEffect_ErrorCode OH_ImageEffect_SetInputNativeBuffer(OH_ImageEffect *imageEffect, OH_NativeBuffer *nativeBuffer)|设置输入的NativeBuffer。| |ImageEffect_ErrorCode OH_ImageEffect_SetOutputNativeBuffer(OH_ImageEffect *imageEffect, OH_NativeBuffer *nativeBuffer)|设置输出的NativeBuffer。| |ImageEffect_ErrorCode OH_ImageEffect_SetInputUri(OH_ImageEffect *imageEffect, const char *uri)|设置输入的URI。| |ImageEffect_ErrorCode OH_ImageEffect_SetOutputUri(OH_ImageEffect *imageEffect, const char *uri)|设置输出的URI。| |ImageEffect_ErrorCode OH_ImageEffect_SetInputPicture(OH_ImageEffect *imageEffect, OH_PictureNative *picture)|设置输入的Picture。| |ImageEffect_ErrorCode OH_ImageEffect_SetOutputPicture(OH_ImageEffect *imageEffect, OH_PictureNative *picture)|设置输出的Picture。| |ImageEffect_ErrorCode OH_ImageEffect_Start(OH_ImageEffect *imageEffect)|启动效果器。| |ImageEffect_ErrorCode OH_ImageEffect_Stop(OH_ImageEffect *imageEffect)|停止生效效果。| |ImageEffect_ErrorCode OH_ImageEffect_Release(OH_ImageEffect *imageEffect)|释放OH_ImageEffect实例资源。| |ImageEffect_ErrorCode OH_ImageEffect_Save(OH_ImageEffect *imageEffect, char **info)|序列化效果器。| |OH_ImageEffect *OH_ImageEffect_Restore(const char *info)|反序列化效果器。|
函数说明
OH_ImageEffect_Create()
OH_ImageEffect *OH_ImageEffect_Create(const char *name)
描述
创建OH_ImageEffect实例,调用OH_ImageEffect_Release进行资源释放。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |const char *name|效果器名,用于标识效果器,由用户自定义,建议为非空的字符串。|
返回:
|类型|说明| |–|–| |OH_ImageEffect|返回一个指向OH_ImageEffect实例的指针,创建失败时返回空指针。|
OH_ImageEffect_AddFilter()
OH_EffectFilter *OH_ImageEffect_AddFilter(OH_ImageEffect *imageEffect, const char *filterName)
描述
添加滤镜。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_ImageEffect *imageEffect|效果器指针。| |const char *filterName|滤镜名。|
返回:
|类型|说明| |–|–| |OH_EffectFilter|返回一个指向OH_EffectFilter实例的指针,滤镜名无效时返回空指针。|
OH_ImageEffect_AddFilterByFilter()
ImageEffect_ErrorCode OH_ImageEffect_AddFilterByFilter(OH_ImageEffect *imageEffect, OH_EffectFilter *filter)
描述
添加指定滤镜。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_ImageEffect *imageEffect|效果器指针。| |OH_EffectFilter *filter|滤镜指针。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_ImageEffect_InsertFilter()
OH_EffectFilter *OH_ImageEffect_InsertFilter(OH_ImageEffect *imageEffect, uint32_t index, const char *filterName)
描述
插入滤镜。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_ImageEffect *imageEffect|效果器指针。| |uint32_t index|插入滤镜位置索引。| |const char *filterName|滤镜名。|
返回:
|类型|说明| |–|–| |OH_EffectFilter|返回一个指向OH_EffectFilter实例的指针,参数无效时返回空指针。|
OH_ImageEffect_InsertFilterByFilter()
ImageEffect_ErrorCode OH_ImageEffect_InsertFilterByFilter(OH_ImageEffect *imageEffect, uint32_t index,OH_EffectFilter *filter)
描述
按指定位置插入滤镜。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_ImageEffect *imageEffect|效果器指针。| |uint32_t index|插入滤镜位置索引。| |OH_EffectFilter *filter|滤镜指针。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_ImageEffect_RemoveFilter()
int32_t OH_ImageEffect_RemoveFilter(OH_ImageEffect *imageEffect, const char *filterName)
描述
移除滤镜。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_ImageEffect *imageEffect|效果器指针。| |const char *filterName|滤镜名。|
返回:
|类型|说明| |–|–| |int32_t|所删除的滤镜个数。|
OH_ImageEffect_RemoveFilterByIndex()
ImageEffect_ErrorCode OH_ImageEffect_RemoveFilterByIndex(OH_ImageEffect *imageEffect, uint32_t index)
描述
移除指定位置滤镜。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_ImageEffect *imageEffect|效果器指针。| |uint32_t index|移除滤镜位置索引。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_ImageEffect_ReplaceFilter()
OH_EffectFilter *OH_ImageEffect_ReplaceFilter(OH_ImageEffect *imageEffect, uint32_t index, const char *filterName)
描述
替换滤镜。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_ImageEffect *imageEffect|效果器指针。| |const char *filterName|滤镜名。|
返回:
|类型|说明| |–|–| |OH_EffectFilter|返回一个指向OH_EffectFilter实例的指针,替换失败时返回空指针。|
OH_ImageEffect_ReplaceFilterByFilter()
ImageEffect_ErrorCode OH_ImageEffect_ReplaceFilterByFilter(OH_ImageEffect *imageEffect, uint32_t index,const char *filterName)
描述
替换指定位置滤镜。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_ImageEffect *imageEffect|效果器指针。| |uint32_t index|替换滤镜位置索引。| |const char *filterName|滤镜名。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_ImageEffect_GetFilterCount()
int32_t OH_ImageEffect_GetFilterCount(OH_ImageEffect *imageEffect)
描述
查询已添加滤镜个数。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_ImageEffect *imageEffect|效果器指针。|
返回:
|类型|说明| |–|–| |int32_t|已添加的滤镜个数。|
OH_ImageEffect_GetFilter()
OH_EffectFilter *OH_ImageEffect_GetFilter(OH_ImageEffect *imageEffect, uint32_t index)
描述
查询已添加滤镜。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_ImageEffect *imageEffect|效果器指针。| |uint32_t index|待查询滤镜位置索引。|
返回:
|类型|说明| |–|–| |OH_EffectFilter|返回一个指向OH_EffectFilter实例的指针,参数无效时返回空指针。|
OH_ImageEffect_Configure()
ImageEffect_ErrorCode OH_ImageEffect_Configure(OH_ImageEffect *imageEffect, const char *key,const ImageEffect_Any *value)
描述
设置配置信息。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_ImageEffect *imageEffect|效果器指针。| |const char *key|配置参数。| |const ImageEffect_Any *value|配置参数值。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。
EFFECT_KEY_ERROR:参数无效。
EFFECT_PARAM_ERROR:参数值无效。。|
OH_ImageEffect_SetOutputSurface()
ImageEffect_ErrorCode OH_ImageEffect_SetOutputSurface(OH_ImageEffect *imageEffect, OHNativeWindow *nativeWindow)
描述
设置输出Surface。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_ImageEffect *imageEffect|效果器指针。| |OHNativeWindow *nativeWindow|指向OHNativeWindow实例的指针。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_ImageEffect_GetInputSurface()
ImageEffect_ErrorCode OH_ImageEffect_GetInputSurface(OH_ImageEffect *imageEffect, OHNativeWindow **nativeWindow)
描述
获取输入Surface。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_ImageEffect *imageEffect|效果器指针。| |OHNativeWindow **nativeWindow|指向OHNativeWindow实例的指针。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_ImageEffect_SetInputPixelmap()
ImageEffect_ErrorCode OH_ImageEffect_SetInputPixelmap(OH_ImageEffect *imageEffect, OH_PixelmapNative *pixelmap)
描述
设置输入的Pixelmap。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_ImageEffect *imageEffect|效果器指针。| |OH_PixelmapNative *pixelmap|指向OH_PixelmapNative实例的指针。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_ImageEffect_SetOutputPixelmap()
ImageEffect_ErrorCode OH_ImageEffect_SetOutputPixelmap(OH_ImageEffect *imageEffect, OH_PixelmapNative *pixelmap)
描述
设置输出的Pixelmap。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_ImageEffect *imageEffect|效果器指针。| |OH_PixelmapNative *pixelmap|指向OH_PixelmapNative实例的指针。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。
EFFECT_PARAM_ERROR:如果参数异常导致方法调用失败。|
OH_ImageEffect_SetInputNativeBuffer()
ImageEffect_ErrorCode OH_ImageEffect_SetInputNativeBuffer(OH_ImageEffect *imageEffect, OH_NativeBuffer *nativeBuffer)
描述
设置输入的NativeBuffer。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_ImageEffect *imageEffect|效果器指针。| |OH_NativeBuffer *nativeBuffer|指向OH_NativeBuffer实例的指针。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_ImageEffect_SetOutputNativeBuffer()
ImageEffect_ErrorCode OH_ImageEffect_SetOutputNativeBuffer(OH_ImageEffect *imageEffect, OH_NativeBuffer *nativeBuffer)
描述
设置输出的NativeBuffer。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_ImageEffect *imageEffect|效果器指针。| |OH_NativeBuffer *nativeBuffer|指向OH_NativeBuffer实例的指针,允许为空,当输入为空时渲染结果返回到输入的OH_NativeBuffer对象上。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。
EFFECT_PARAM_ERROR:如果参数异常导致方法调用失败。|
OH_ImageEffect_SetInputUri()
ImageEffect_ErrorCode OH_ImageEffect_SetInputUri(OH_ImageEffect *imageEffect, const char *uri)
描述
设置输入的URI。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_ImageEffect *imageEffect|效果器指针。| |const char *uri|图片URI(只支持Jpeg,Heif)。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_ImageEffect_SetOutputUri()
ImageEffect_ErrorCode OH_ImageEffect_SetOutputUri(OH_ImageEffect *imageEffect, const char *uri)
描述
设置输出的URI。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_ImageEffect *imageEffect|效果器指针。| |const char *uri|图片URI。输出URI的格式和输入保持一致,如果不支持Heif编码能力,则进行Jpeg编码。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_ImageEffect_SetInputPicture()
ImageEffect_ErrorCode OH_ImageEffect_SetInputPicture(OH_ImageEffect *imageEffect, OH_PictureNative *picture)
描述
设置输入的Picture。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 13
参数:
|参数项|描述| |–|–| |OH_ImageEffect *imageEffect|效果器指针。| |OH_PictureNative *picture|指向OH_PictureNative实例的指针。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_ImageEffect_SetOutputPicture()
ImageEffect_ErrorCode OH_ImageEffect_SetOutputPicture(OH_ImageEffect *imageEffect, OH_PictureNative *picture)
描述
设置输出的Picture。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 13
参数:
|参数项|描述| |–|–| |OH_ImageEffect *imageEffect|效果器指针。| |OH_PictureNative *picture|指向OH_PictureNative实例的指针,允许为空,当输入为空时渲染结果返回到输入的OH_PictureNative对象上。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。
EFFECT_PARAM_ERROR:如果参数异常导致方法调用失败。|
OH_ImageEffect_Start()
ImageEffect_ErrorCode OH_ImageEffect_Start(OH_ImageEffect *imageEffect)
描述
启动效果器。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_ImageEffect *imageEffect|效果器指针。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。
EFFECT_INPUT_OUTPUT_NOT_SUPPORTED:待处理输入、输出图像数据类型不一致。
EFFECT_COLOR_SPACE_NOT_MATCH:输入、输出图像色彩空间不配置。
EFFECT_ALLOCATE_MEMORY_FAILED:内存申请失败。|
OH_ImageEffect_Stop()
ImageEffect_ErrorCode OH_ImageEffect_Stop(OH_ImageEffect *imageEffect)
描述
停止生效效果。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_ImageEffect *imageEffect|效果器指针。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_ImageEffect_Release()
ImageEffect_ErrorCode OH_ImageEffect_Release(OH_ImageEffect *imageEffect)
描述
释放OH_ImageEffect实例资源。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_ImageEffect *imageEffect|效果器指针。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_ImageEffect_Save()
ImageEffect_ErrorCode OH_ImageEffect_Save(OH_ImageEffect *imageEffect, char **info)
描述
序列化效果器。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_ImageEffect *imageEffect|效果器指针。| |char **info|指向char数组的指针,返回序列化JSON字符串。|
返回:
|类型|说明|
|–|–|
|ImageEffect_ErrorCode|EFFECT_SUCCESS:方法调用成功。
EFFECT_ERROR_PARAM_INVALID:入参为空指针。|
OH_ImageEffect_Restore()
OH_ImageEffect *OH_ImageEffect_Restore(const char *info)
描述
反序列化效果器。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
|参数项|描述| |–|–| |const char *info|序列化JSON字符串。|
返回:
|类型|说明| |–|–| |OH_ImageEffect|反序列化成功时返回OH_ImageEffect实例,否则返回空指针。|
你可能感兴趣的鸿蒙文章
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框自动聚焦