ImageEffect
概述
提供图片编辑能力。
对应的开发指南及样例可参考使用ImageEffect编辑图片。
起始版本: 12
汇总
文件
| 名称 | 描述 |
|---|---|
| image_effect.h | 声明效果器相关接口。 |
| image_effect_errors.h | 声明图片效果器错误码。 |
| image_effect_filter.h | 声明滤镜相关接口。 |
结构体
| 名称 | 描述 |
|---|---|
| union ImageEffect_DataValue | 数据值联合体。 |
| struct ImageEffect_Any | 参数结构体。 |
| struct ImageEffect_FilterNames | 滤镜名信息。 |
| struct ImageEffect_FilterDelegate | 自定义滤镜回调函数结构体。 |
| struct ImageEffect_Region | 图像区域结构体。 |
| struct ImageEffect_Size | 图像尺寸结构体。 |
宏定义
| 名称 | 描述 |
|---|---|
| OH_EFFECT_BRIGHTNESS_FILTER "Brightness" | 亮度滤镜,对应的参数为OH_EFFECT_FILTER_INTENSITY_KEY,参数类型为EFFECT_DATA_TYPE_FLOAT。 |
| OH_EFFECT_CONTRAST_FILTER "Contrast" | 对比度滤镜,对应的参数为OH_EFFECT_FILTER_INTENSITY_KEY,参数类型为EFFECT_DATA_TYPE_FLOAT。 |
| OH_EFFECT_CROP_FILTER "Crop" | 裁剪滤镜,对应的参数为OH_EFFECT_FILTER_REGION_KEY,参数类型为EFFECT_DATA_TYPE_PTR,参数值为结构体 ImageEffect_Region。 |
| OH_EFFECT_FILTER_INTENSITY_KEY "FilterIntensity" | 强度参数。 |
| OH_EFFECT_FILTER_REGION_KEY "FilterRegion" | 图像区域参数。 |
类型定义
枚举
| 名称 | 描述 |
|---|---|
| ImageEffect_ErrorCode { EFFECT_SUCCESS = 0, EFFECT_ERROR_PERMISSION_DENIED = 201, EFFECT_ERROR_PARAM_INVALID = 401, EFFECT_BUFFER_SIZE_NOT_MATCH = 29000001, EFFECT_COLOR_SPACE_NOT_MATCH = 29000002, EFFECT_INPUT_OUTPUT_NOT_MATCH = 29000101, EFFECT_EFFECT_NUMBER_LIMITED = 29000102, EFFECT_INPUT_OUTPUT_NOT_SUPPORTED = 29000103, EFFECT_ALLOCATE_MEMORY_FAILED = 29000104, EFFECT_PARAM_ERROR = 29000121, EFFECT_KEY_ERROR = 29000122, EFFECT_UNKNOWN = 29000199 } |
效果器错误码。 |
| ImageEffect_DataType { 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 { EFFECT_PIXEL_FORMAT_UNKNOWN = 0, EFFECT_PIXEL_FORMAT_RGBA8888 = 1, EFFECT_PIXEL_FORMAT_NV21 = 2, EFFECT_PIXEL_FORMAT_NV12 = 3, EFFECT_PIXEL_FORMAT_RGBA1010102 = 4, EFFECT_PIXEL_FORMAT_YCBCR_P010 = 5, EFFECT_PIXEL_FORMAT_YCRCB_P010 = 6 } |
像素格式枚举值。 |
| ImageEffect_BufferType { EFFECT_BUFFER_TYPE_UNKNOWN = 0, EFFECT_BUFFER_TYPE_PIXEL = 1, EFFECT_BUFFER_TYPE_TEXTURE = 2 } |
内存类型枚举值。 |
函数
宏定义说明
OH_EFFECT_BRIGHTNESS_FILTER
#define OH_EFFECT_BRIGHTNESS_FILTER "Brightness"
描述
亮度滤镜,对应的参数为OH_EFFECT_FILTER_INTENSITY_KEY,参数类型为EFFECT_DATA_TYPE_FLOAT。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
OH_EFFECT_CONTRAST_FILTER
#define OH_EFFECT_CONTRAST_FILTER "Contrast"
描述
对比度滤镜,对应的参数为OH_EFFECT_FILTER_INTENSITY_KEY,参数类型为EFFECT_DATA_TYPE_FLOAT。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
OH_EFFECT_CROP_FILTER
#define OH_EFFECT_CROP_FILTER "Crop"
描述
裁剪滤镜,对应的参数为OH_EFFECT_FILTER_REGION_KEY,参数类型为EFFECT_DATA_TYPE_PTR,参数值为结构体 ImageEffect_Region。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
OH_EFFECT_FILTER_INTENSITY_KEY
#define OH_EFFECT_FILTER_INTENSITY_KEY "FilterIntensity"
描述
强度参数。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
OH_EFFECT_FILTER_REGION_KEY
#define OH_EFFECT_FILTER_REGION_KEY "FilterRegion"
描述
图像区域参数。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
类型定义说明
ImageEffect_Any
typedef struct ImageEffect_Any ImageEffect_Any
描述
参数结构体。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
ImageEffect_BufferType
typedef enum ImageEffect_BufferType ImageEffect_BufferType
描述
内存类型枚举值。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
ImageEffect_DataType
typedef enum ImageEffect_DataType ImageEffect_DataType
描述
数据类型枚举值。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
ImageEffect_DataValue
typedef union ImageEffect_DataValue ImageEffect_DataValue
描述
数据值联合体。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
ImageEffect_ErrorCode
typedef enum ImageEffect_ErrorCode ImageEffect_ErrorCode
描述
效果器错误码。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
ImageEffect_FilterDelegate
typedef struct ImageEffect_FilterDelegate ImageEffect_FilterDelegate
描述
自定义滤镜回调函数结构体。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
ImageEffect_FilterNames
typedef struct ImageEffect_FilterNames ImageEffect_FilterNames
描述
滤镜名信息。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
ImageEffect_Format
typedef enum ImageEffect_Format ImageEffect_Format
描述
像素格式枚举值。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
ImageEffect_Region
typedef struct ImageEffect_Region ImageEffect_Region
描述
图像区域结构体。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
ImageEffect_Size
typedef struct ImageEffect_Size ImageEffect_Size
描述
图像尺寸结构体。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
OH_EffectBufferInfo
typedef struct OH_EffectBufferInfo OH_EffectBufferInfo
描述
定义图像信息。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
OH_EffectFilter
typedef struct OH_EffectFilter OH_EffectFilter
描述
定义滤镜结构类型。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
OH_EffectFilterDelegate_PushData
typedef void(* OH_EffectFilterDelegate_PushData) (OH_EffectFilter *filter, OH_EffectBufferInfo *info)
描述
自定义滤镜传递图像信息到下一级滤镜的函数指针。需要在OH_EffectFilterDelegate_Render 的回调中主动调用该函数指针。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| filter | 滤镜指针。 |
| 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
参数:
| 名称 | 描述 |
|---|---|
| filter | 滤镜指针。 |
| info | 图像信息OH_EffectBufferInfo指针。 |
| pushData | 自定义滤镜传递图像信息到下一级滤镜的函数指针OH_EffectFilterDelegate_PushData。 |
返回:
执行成功时返回true,否则返回false。
OH_EffectFilterDelegate_Restore
typedef OH_EffectFilter*(* OH_EffectFilterDelegate_Restore) (const char *info)
描述
自定义滤镜反序列化的回调函数。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| info | 序列化JSON字符串。 |
返回:
执行成功时返回OH_EffectFilter实例,否则返回空指针。
OH_EffectFilterDelegate_Save
typedef bool(* OH_EffectFilterDelegate_Save) (OH_EffectFilter *filter, char **info)
描述
自定义滤镜序列化的回调函数,按照JSON格式进行滤镜序列化处理。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| filter | 滤镜指针。 |
| info | 指向char数组的指针,返回序列化JSON字符串。 |
返回:
执行成功时返回true,否则返回false。
OH_EffectFilterDelegate_SetValue
typedef bool(* OH_EffectFilterDelegate_SetValue) (OH_EffectFilter *filter, const char *key, const ImageEffect_Any *value)
描述
自定义滤镜设置参数的回调函数,用于开发者校验参数及参数值。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| filter | 滤镜指针。 |
| key | 滤镜参数。 |
| value | 滤镜参数值。 |
返回:
参数有效时返回true,否则返回false。
OH_EffectFilterInfo
typedef struct OH_EffectFilterInfo OH_EffectFilterInfo
描述
定义滤镜信息结构体。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
OH_ImageEffect
typedef struct OH_ImageEffect OH_ImageEffect
描述
定义效果器结构类型。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
枚举类型说明
ImageEffect_BufferType
enum ImageEffect_BufferType
描述
内存类型枚举值。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
| 枚举值 | 描述 |
|---|---|
| EFFECT_BUFFER_TYPE_UNKNOWN | 未定义类型。 |
| EFFECT_BUFFER_TYPE_PIXEL | 像素图类型。 |
| EFFECT_BUFFER_TYPE_TEXTURE | 纹理类型。 |
ImageEffect_DataType
enum ImageEffect_DataType
描述
数据类型枚举值。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
| 枚举值 | 描述 |
|---|---|
| EFFECT_DATA_TYPE_UNKNOWN | 未定义类型。 |
| EFFECT_DATA_TYPE_INT32 | 整形。 |
| EFFECT_DATA_TYPE_FLOAT | 单精度浮点型。 |
| EFFECT_DATA_TYPE_DOUBLE | 双精度浮点型。 |
| EFFECT_DATA_TYPE_CHAR | 字节类型。 |
| EFFECT_DATA_TYPE_LONG | 长整型。 |
| EFFECT_DATA_TYPE_BOOL | 布尔类型。 |
| EFFECT_DATA_TYPE_PTR | 指针类型。 |
ImageEffect_ErrorCode
enum ImageEffect_ErrorCode
描述
效果器错误码。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
| 枚举值 | 描述 |
|---|---|
| EFFECT_SUCCESS | 操作成功。 |
| EFFECT_ERROR_PERMISSION_DENIED | 权限校验失败。 |
| EFFECT_ERROR_PARAM_INVALID | 参数检查失败。 |
| EFFECT_BUFFER_SIZE_NOT_MATCH | 输出buffer尺寸不匹配。 |
| EFFECT_COLOR_SPACE_NOT_MATCH | 输入输出色彩空间不匹配。 |
| EFFECT_INPUT_OUTPUT_NOT_MATCH | 输入输出配置不一致。比如:输入Surface,输出Pixelmap。 |
| EFFECT_EFFECT_NUMBER_LIMITED | 超出管线最大规格。 |
| EFFECT_INPUT_OUTPUT_NOT_SUPPORTED | 输入、输出配置不支持。 |
| EFFECT_ALLOCATE_MEMORY_FAILED | 申请内存失败。 |
| EFFECT_PARAM_ERROR | 参数值错误。 例如:滤镜无效的参数值。 |
| EFFECT_KEY_ERROR | 参数错误。例如:滤镜无效的参数。 |
| EFFECT_UNKNOWN | 未定义错误。 |
ImageEffect_Format
enum ImageEffect_Format
描述
像素格式枚举值。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
| 枚举值 | 描述 |
|---|---|
| EFFECT_PIXEL_FORMAT_UNKNOWN | 未定义类型。 |
| EFFECT_PIXEL_FORMAT_RGBA8888 | RGBA8888类型。 |
| EFFECT_PIXEL_FORMAT_NV21 | NV21类型。 |
| EFFECT_PIXEL_FORMAT_NV12 | NV12类型。 |
| EFFECT_PIXEL_FORMAT_RGBA1010102 | 10bit RGBA类型。 |
| EFFECT_PIXEL_FORMAT_YCBCR_P010 | 10bit YCBCR420类型。 |
| EFFECT_PIXEL_FORMAT_YCRCB_P010 | 10bit YCRCB420类型。 |
函数说明
OH_EffectBufferInfo_Create()
OH_EffectBufferInfo* OH_EffectBufferInfo_Create ()
描述
创建OH_EffectBufferInfo实例,调用OH_EffectBufferInfo_Release进行资源释放。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
返回:
返回一个指向OH_EffectBufferInfo实例的指针,创建失败时返回空指针。
OH_EffectBufferInfo_GetAddr()
ImageEffect_ErrorCode OH_EffectBufferInfo_GetAddr (OH_EffectBufferInfo * info, void ** addr )
描述
获取图像内存地址。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| info | 图像信息指针。 |
| addr | 图像虚拟内存地址。 |
返回:
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
参数:
| 名称 | 描述 |
|---|---|
| info | 图像信息指针。 |
| format | 图像像素格式ImageEffect_Format。 |
返回:
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
参数:
| 名称 | 描述 |
|---|---|
| info | 图像信息指针。 |
| height | 图像高度,单位:像素。 |
返回:
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
参数:
| 名称 | 描述 |
|---|---|
| info | 图像信息指针。 |
| rowSize | 图像每一行的字节数,单位:字节。 |
返回:
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
参数:
| 名称 | 描述 |
|---|---|
| info | 图像信息指针。 |
| width | 图像宽度,单位:像素。 |
返回:
EFFECT_SUCCESS如果方法调用成功。 EFFECT_ERROR_PARAM_INVALID如果入参为空指针。
OH_EffectBufferInfo_Release()
ImageEffect_ErrorCode OH_EffectBufferInfo_Release (OH_EffectBufferInfo * info)
描述
销毁OH_EffectBufferInfo实例。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| info | 图像信息指针。 |
返回:
EFFECT_SUCCESS如果方法调用成功。 EFFECT_ERROR_PARAM_INVALID如果入参为空指针。
OH_EffectBufferInfo_SetAddr()
ImageEffect_ErrorCode OH_EffectBufferInfo_SetAddr (OH_EffectBufferInfo * info, void * addr )
描述
设置图像内存地址。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| info | 图像信息指针。 |
| addr | 图像虚拟内存地址。 |
返回:
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
参数:
| 名称 | 描述 |
|---|---|
| info | 图像信息指针。 |
| format | 图像像素格式ImageEffect_Format。 |
返回:
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
参数:
| 名称 | 描述 |
|---|---|
| info | 图像信息指针。 |
| height | 图像高度,单位:像素。 |
返回:
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
参数:
| 名称 | 描述 |
|---|---|
| info | 图像信息指针。 |
| rowSize | 图像每一行的字节数,单位:字节。 |
返回:
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
参数:
| 名称 | 描述 |
|---|---|
| info | 图像信息指针。 |
| width | 图像宽度,单位:像素。 |
返回:
EFFECT_SUCCESS如果方法调用成功。 EFFECT_ERROR_PARAM_INVALID如果入参为空指针。
OH_EffectFilter_Create()
OH_EffectFilter* OH_EffectFilter_Create (const char * name)
描述
创建OH_EffectFilter实例,调用OH_EffectFilter_Release进行资源释放。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| name | 滤镜名,例如:OH_EFFECT_BRIGHTNESS_FILTER。 |
返回:
返回一个指向OH_EffectFilter实例的指针,创建失败时返回空指针。
OH_EffectFilter_GetValue()
ImageEffect_ErrorCode OH_EffectFilter_GetValue (OH_EffectFilter * filter, const char * key, ImageEffect_Any * value )
描述
获取滤镜参数。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| filter | 滤镜指针。 |
| key | 滤镜参数,例如:OH_EFFECT_FILTER_INTENSITY_KEY。 |
| value | 滤镜参数值。 |
返回:
EFFECT_SUCCESS如果方法调用成功。 EFFECT_ERROR_PARAM_INVALID如果入参为空指针。 EFFECT_KEY_ERROR如果参数无效。
OH_EffectFilter_LookupFilterInfo()
ImageEffect_ErrorCode OH_EffectFilter_LookupFilterInfo (const char * name, OH_EffectFilterInfo * info )
描述
查询滤镜信息。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| name | 滤镜名。 |
| info | 滤镜信息指针OH_EffectFilterInfo。 |
返回:
EFFECT_SUCCESS如果方法调用成功。 EFFECT_ERROR_PARAM_INVALID如果入参为空指针或其他无效值。
OH_EffectFilter_LookupFilters()
ImageEffect_FilterNames* OH_EffectFilter_LookupFilters (const char * key)
描述
查询满足条件的滤镜。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| key | 查询条件,可根据“Default”关键词查询所有的滤镜。 |
返回:
滤镜名列表ImageEffect_FilterNames。
OH_EffectFilter_Register()
ImageEffect_ErrorCode OH_EffectFilter_Register (const OH_EffectFilterInfo * info, const ImageEffect_FilterDelegate * delegate )
描述
注册自定义滤镜。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| info | 滤镜信息指针OH_EffectFilterInfo。 |
| delegate | 自定义滤镜回调函数ImageEffect_FilterDelegate。 |
返回:
EFFECT_SUCCESS如果方法调用成功。 EFFECT_ERROR_PARAM_INVALID如果入参为空指针。
OH_EffectFilter_Release()
ImageEffect_ErrorCode OH_EffectFilter_Release (OH_EffectFilter * filter)
描述
销毁OH_EffectFilter实例。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| filter | 滤镜指针。 |
返回:
EFFECT_SUCCESS如果方法调用成功。 EFFECT_ERROR_PARAM_INVALID如果入参为空指针。
OH_EffectFilter_ReleaseFilterNames()
void OH_EffectFilter_ReleaseFilterNames ()
描述
释放滤镜名内存资源。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
OH_EffectFilter_Render()
ImageEffect_ErrorCode OH_EffectFilter_Render (OH_EffectFilter * filter, OH_PixelmapNative * inputPixelmap, OH_PixelmapNative * outputPixelmap )
描述
执行图像渲染。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| filter | 滤镜指针。 |
| inputPixelmap | 输入图像。 |
| outputPixelmap | 输出图像。 |
返回:
EFFECT_SUCCESS如果方法调用成功。 EFFECT_ERROR_PARAM_INVALID如果入参为空指针。
OH_EffectFilter_SetValue()
ImageEffect_ErrorCode OH_EffectFilter_SetValue (OH_EffectFilter * filter, const char * key, const ImageEffect_Any * value )
描述
设置滤镜参数。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| filter | 滤镜指针。 |
| key | 滤镜参数,例如:OH_EFFECT_FILTER_INTENSITY_KEY。 |
| value | 滤镜参数值。 |
返回:
EFFECT_SUCCESS如果方法调用成功。 EFFECT_ERROR_PARAM_INVALID如果入参为空指针。 EFFECT_KEY_ERROR如果参数无效。 EFFECT_PARAM_ERROR如果参数值无效。
OH_EffectFilterInfo_Create()
OH_EffectFilterInfo* OH_EffectFilterInfo_Create ()
描述
创建OH_EffectFilterInfo实例,调用OH_EffectFilterInfo_Release进行资源释放。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
返回:
返回一个指向OH_EffectFilterInfo实例的指针,创建失败时返回空指针。
OH_EffectFilterInfo_GetFilterName()
ImageEffect_ErrorCode OH_EffectFilterInfo_GetFilterName (OH_EffectFilterInfo * info, char ** name )
描述
获取滤镜名。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| info | 滤镜信息指针。 |
| name | 指向char数组的指针,返回滤镜名。 |
返回:
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
参数:
| 名称 | 描述 |
|---|---|
| info | 滤镜信息指针。 |
| size | 滤镜所支持内存类型ImageEffect_BufferType个数。 |
| bufferTypeArray | 滤镜所支持内存类型ImageEffect_BufferType数组。 |
返回:
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
参数:
| 名称 | 描述 |
|---|---|
| info | 滤镜信息指针。 |
| size | 滤镜所支持像素格式ImageEffect_Format个数。 |
| formatArray | 滤镜所支持像素格式ImageEffect_Format数组。 |
返回:
EFFECT_SUCCESS如果方法调用成功。 EFFECT_ERROR_PARAM_INVALID如果入参为空指针。
OH_EffectFilterInfo_Release()
ImageEffect_ErrorCode OH_EffectFilterInfo_Release (OH_EffectFilterInfo * info)
描述
销毁OH_EffectFilterInfo实例。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| info | 滤镜信息指针。 |
返回:
EFFECT_SUCCESS如果方法调用成功。 EFFECT_ERROR_PARAM_INVALID如果入参为空指针。
OH_EffectFilterInfo_SetFilterName()
ImageEffect_ErrorCode OH_EffectFilterInfo_SetFilterName (OH_EffectFilterInfo * info, const char * name )
描述
设置滤镜名。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| info | 滤镜信息指针。 |
| name | 滤镜名,例如:OH_EFFECT_BRIGHTNESS_FILTER。 |
返回:
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
参数:
| 名称 | 描述 |
|---|---|
| info | 滤镜信息指针。 |
| size | 滤镜所支持内存类型ImageEffect_BufferType个数。 |
| bufferTypeArray | 滤镜所支持内存类型ImageEffect_BufferType数组。 |
返回:
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
参数:
| 名称 | 描述 |
|---|---|
| info | 滤镜信息指针。 |
| size | 滤镜所支持像素格式ImageEffect_Format个数。 |
| formatArray | 滤镜所支持像素格式ImageEffect_Format数组。 |
返回:
EFFECT_SUCCESS如果方法调用成功。 EFFECT_ERROR_PARAM_INVALID如果入参为空指针。
OH_ImageEffect_AddFilter()
OH_EffectFilter* OH_ImageEffect_AddFilter (OH_ImageEffect * imageEffect, const char * filterName )
描述
添加滤镜。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| imageEffect | 效果器指针。 |
| filterName | 滤镜名。 |
返回:
返回一个指向OH_EffectFilter实例的指针,滤镜名无效时返回空指针。
OH_ImageEffect_AddFilterByFilter()
ImageEffect_ErrorCode OH_ImageEffect_AddFilterByFilter(OH_ImageEffect *imageEffect, OH_EffectFilter *filter)
描述 添加指定滤镜。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| imageEffect | 效果器指针。 |
| filter | 滤镜指针。 |
返回:
EFFECT_SUCCESS如果方法调用成功。 EFFECT_ERROR_PARAM_INVALID如果入参为空指针。
OH_ImageEffect_Configure()
ImageEffect_ErrorCode OH_ImageEffect_Configure (OH_ImageEffect * imageEffect, const char * key, const ImageEffect_Any * value )
描述
设置配置信息。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| imageEffect | 效果器指针。 |
| key | 配置参数。 |
| value | 配置参数值。 |
返回:
EFFECT_SUCCESS如果方法调用成功。 EFFECT_ERROR_PARAM_INVALID如果入参为空指针。 EFFECT_KEY_ERROR如果参数无效。 EFFECT_PARAM_ERROR如果参数值无效。
OH_ImageEffect_Create()
OH_ImageEffect* OH_ImageEffect_Create (const char * name)
描述
创建OH_ImageEffect实例,调用OH_ImageEffect_Release进行资源释放。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| name | 效果器名,用于标识效果器,由用户自定义,建议为非空的字符串。 |
返回:
返回一个指向OH_ImageEffect实例的指针,创建失败时返回空指针。
OH_ImageEffect_GetFilter()
OH_EffectFilter* OH_ImageEffect_GetFilter (OH_ImageEffect * imageEffect, uint32_t index )
描述
查询已添加滤镜。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| imageEffect | 效果器指针。 |
| index | 待查询滤镜位置索引。 |
返回:
返回一个指向OH_EffectFilter实例的指针,参数无效时返回空指针。
OH_ImageEffect_GetFilterCount()
int32_t OH_ImageEffect_GetFilterCount (OH_ImageEffect * imageEffect)
描述
查询已添加滤镜个数。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| imageEffect | 效果器指针。 |
返回:
已添加的滤镜个数。
OH_ImageEffect_GetInputSurface()
ImageEffect_ErrorCode OH_ImageEffect_GetInputSurface (OH_ImageEffect * imageEffect, OHNativeWindow ** nativeWindow )
描述
获取输入Surface。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| imageEffect | 效果器指针。 |
| nativeWindow | 指向OHNativeWindow实例的指针。 |
返回:
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
参数:
| 名称 | 描述 |
|---|---|
| imageEffect | 效果器指针。 |
| index | 插入滤镜位置索引。 |
| filterName | 滤镜名。 |
返回:
返回一个指向OH_EffectFilter实例的指针,参数无效时返回空指针。
OH_ImageEffect_InsertFilterByFilter()
ImageEffect_ErrorCode OH_ImageEffect_InsertFilterByFilter(OH_ImageEffect *imageEffect, uint32_t index, OH_EffectFilter *filter);
描述 按指定位置插入滤镜。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| imageEffect | 效果器指针。 |
| index | 插入滤镜位置索引。 |
| filter | 滤镜指针。 |
返回:
EFFECT_SUCCESS如果方法调用成功。 EFFECT_ERROR_PARAM_INVALID如果入参为空指针。
OH_ImageEffect_Release()
ImageEffect_ErrorCode OH_ImageEffect_Release (OH_ImageEffect * imageEffect)
描述
释放OH_ImageEffect实例资源。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| imageEffect | 效果器指针。 |
返回:
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
参数:
| 名称 | 描述 |
|---|---|
| imageEffect | 效果器指针。 |
| filterName | 滤镜名。 |
返回:
所删除的滤镜个数。
OH_ImageEffect_RemoveFilterByIndex()
ImageEffect_ErrorCode OH_ImageEffect_RemoveFilterByIndex(OH_ImageEffect *imageEffect, uint32_t index)
描述 移除指定位置滤镜。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| imageEffect | 效果器指针。 |
| index | 移除滤镜位置索引。 |
返回:
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
参数:
| 名称 | 描述 |
|---|---|
| imageEffect | 效果器指针。 |
| filterName | 滤镜名。 |
返回:
返回一个指向OH_EffectFilter实例的指针,替换失败时返回空指针。
OH_ImageEffect_ReplaceFilterByFilter()
ImageEffect_ErrorCode OH_ImageEffect_ReplaceFilterByFilter(OH_ImageEffect *imageEffect, uint32_t index, const char *filterName);
描述 替换指定位置滤镜。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| imageEffect | 效果器指针。 |
| index | 替换滤镜位置索引。 |
| filterName | 滤镜名。 |
返回:
EFFECT_SUCCESS如果方法调用成功。 EFFECT_ERROR_PARAM_INVALID如果入参为空指针。
OH_ImageEffect_Restore()
OH_ImageEffect* OH_ImageEffect_Restore (const char * info)
描述
反序列化效果器。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| info | 序列化JSON字符串。 |
返回:
反序列化成功时返回OH_ImageEffect实例,否则返回空指针。
OH_ImageEffect_Save()
ImageEffect_ErrorCode OH_ImageEffect_Save (OH_ImageEffect * imageEffect, char ** info )
描述
序列化效果器。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| imageEffect | 效果器指针。 |
| info | 指向char数组的指针,返回序列化JSON字符串。 |
返回:
EFFECT_SUCCESS如果方法调用成功。 EFFECT_ERROR_PARAM_INVALID如果入参为空指针。
OH_ImageEffect_SetInputNativeBuffer()
ImageEffect_ErrorCode OH_ImageEffect_SetInputNativeBuffer (OH_ImageEffect * imageEffect, OH_NativeBuffer * nativeBuffer )
描述
设置输入的NativeBuffer。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| imageEffect | 效果器指针。 |
| nativeBuffer | 指向OH_NativeBuffer实例的指针。 |
返回:
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
参数:
| 名称 | 描述 |
|---|---|
| imageEffect | 效果器指针。 |
| picture | 指向OH_PictureNative实例的指针。 |
返回:
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
参数:
| 名称 | 描述 |
|---|---|
| imageEffect | 效果器指针。 |
| pixelmap | 指向OH_PixelmapNative实例的指针。 |
返回:
EFFECT_SUCCESS如果方法调用成功。 EFFECT_ERROR_PARAM_INVALID如果入参为空指针。
OH_ImageEffect_SetInputUri()
ImageEffect_ErrorCode OH_ImageEffect_SetInputUri (OH_ImageEffect * imageEffect, const char * uri )
描述
设置输入的URI。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| imageEffect | 效果器指针。 |
| uri | 图片URI(只支持Jpeg,Heif)。 |
返回:
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
参数:
| 名称 | 描述 |
|---|---|
| imageEffect | 效果器指针。 |
| nativeBuffer | 指向OH_NativeBuffer实例的指针,允许为空,当输入为空时渲染结果返回到输入的OH_NativeBuffer对象上。 |
返回:
EFFECT_SUCCESS,如果方法调用成功。
EFFECT_ERROR_PARAM_INVALID,如果效果器入参为空指针。
EFFECT_PARAM_ERROR,如果参数异常导致方法调用失败。
OH_ImageEffect_SetOutputPicture()
ImageEffect_ErrorCode OH_ImageEffect_SetOutputPicture(OH_ImageEffect *imageEffect, OH_PictureNative *picture)
描述 设置输出的Picture。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 13
参数:
| 名称 | 描述 |
|---|---|
| imageEffect | 效果器指针。 |
| picture | 指向OH_PictureNative实例的指针,允许为空,当输入为空时渲染结果返回到输入的OH_PictureNative对象上。 |
返回:
EFFECT_SUCCESS,如果方法调用成功。
EFFECT_ERROR_PARAM_INVALID,如果效果器入参为空指针。
EFFECT_PARAM_ERROR,如果参数异常导致方法调用失败。
OH_ImageEffect_SetOutputPixelmap()
ImageEffect_ErrorCode OH_ImageEffect_SetOutputPixelmap (OH_ImageEffect * imageEffect, OH_PixelmapNative * pixelmap )
描述
设置输出的Pixelmap。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| imageEffect | 效果器指针。 |
| pixelmap | 指向OH_PixelmapNative实例的指针,允许为空,当输入为空时渲染结果返回到输入的OH_PixelmapNative对象上。 |
返回:
EFFECT_SUCCESS,如果方法调用成功。
EFFECT_ERROR_PARAM_INVALID,如果效果器入参为空指针。
EFFECT_PARAM_ERROR,如果参数异常导致方法调用失败。
OH_ImageEffect_SetOutputSurface()
ImageEffect_ErrorCode OH_ImageEffect_SetOutputSurface (OH_ImageEffect * imageEffect, OHNativeWindow * nativeWindow )
描述
设置输出Surface。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| imageEffect | 效果器指针。 |
| nativeWindow | 指向OHNativeWindow实例的指针。 |
返回:
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
参数:
| 名称 | 描述 |
|---|---|
| imageEffect | 效果器指针。 |
| uri | 图片URI。输出URI的格式和输入保持一致,如果不支持Heif编码能力,则进行Jpeg编码。 |
返回:
EFFECT_SUCCESS如果方法调用成功。 EFFECT_ERROR_PARAM_INVALID如果入参为空指针。
OH_ImageEffect_Start()
ImageEffect_ErrorCode OH_ImageEffect_Start (OH_ImageEffect * imageEffect)
描述
启动效果器。
系统能力: SystemCapability.Multimedia.ImageEffect.Core
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| imageEffect | 效果器指针。 |
返回:
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
参数:
| 名称 | 描述 |
|---|---|
| imageEffect | 效果器指针。 |
返回:
EFFECT_SUCCESS如果方法调用成功。 EFFECT_ERROR_PARAM_INVALID如果入参为空指针。