8d5ce66b创建于 2025年3月24日历史提交

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" 图像区域参数。

类型定义

名称 描述
typedef struct OH_ImageEffect OH_ImageEffect 定义效果器结构类型。
typedef enum ImageEffect_ErrorCode ImageEffect_ErrorCode 效果器错误码。
typedef struct OH_EffectFilter OH_EffectFilter 定义滤镜结构类型。
typedef enum ImageEffect_DataType ImageEffect_DataType 数据类型枚举值。
typedef union ImageEffect_DataValue ImageEffect_DataValue 数据值联合体。
typedef struct ImageEffect_Any ImageEffect_Any 参数结构体。
typedef enum ImageEffect_Format ImageEffect_Format 像素格式枚举值。
typedef enum ImageEffect_BufferType ImageEffect_BufferType 内存类型枚举值。
typedef struct OH_EffectFilterInfo OH_EffectFilterInfo 定义滤镜信息结构体。
typedef struct ImageEffect_FilterNames ImageEffect_FilterNames 滤镜名信息。
typedef struct OH_EffectBufferInfo OH_EffectBufferInfo 定义图像信息。
typedef bool(* OH_EffectFilterDelegate_SetValue) (OH_EffectFilter *filter, const char *key, const ImageEffect_Any *value) 自定义滤镜设置参数的回调函数,用于开发者校验参数及参数值。
typedef void(* OH_EffectFilterDelegate_PushData) (OH_EffectFilter *filter, OH_EffectBufferInfo *info) 自定义滤镜传递图像信息到下一级滤镜的函数指针。
typedef bool(* OH_EffectFilterDelegate_Render) (OH_EffectFilter *filter, OH_EffectBufferInfo *info, OH_EffectFilterDelegate_PushData pushData) 自定义滤镜渲染图像的回调函数。
typedef bool(* OH_EffectFilterDelegate_Save) (OH_EffectFilter *filter, char **info) 自定义滤镜序列化的回调函数,按照JSON格式进行滤镜序列化处理。
typedef OH_EffectFilter *(* OH_EffectFilterDelegate_Restore) (const char *info) 自定义滤镜反序列化的回调函数。
typedef struct ImageEffect_FilterDelegate ImageEffect_FilterDelegate 自定义滤镜回调函数结构体。
typedef struct ImageEffect_Region ImageEffect_Region 图像区域结构体。
typedef struct ImageEffect_Size ImageEffect_Size 图像尺寸结构体。

枚举

名称 描述
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_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_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实例。
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实例。

宏定义说明

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如果入参为空指针。