EffectKit
概述
提供处理图像的一些基础能力,包括对当前图像的亮度调节、模糊化、灰度调节等。
系统能力: SystemCapability.Multimedia.Image.Core
起始版本: 12
汇总
文件
| 名称 | 描述 |
|---|---|
| effect_filter.h | 声明滤镜效果的接口。 |
| effect_types.h | 声明滤镜效果的数据类型。 |
结构体
| 名称 | 描述 |
|---|---|
| struct OH_Filter_ColorMatrix | 定义一个用来创建滤镜效果的矩阵。 |
类型定义
| 名称 | 描述 |
|---|---|
| typedef struct OH_Filter OH_Filter | 滤镜结构体,用来生成滤镜位图。 |
| typedef struct OH_PixelmapNative OH_PixelmapNative | 定义一个位图。 |
枚举
| 名称 | 描述 |
|---|---|
| EffectErrorCode { EFFECT_SUCCESS = 0, EFFECT_BAD_PARAMETER = 401, EFFECT_UNSUPPORTED_OPERATION = 7600201, EFFECT_UNKNOWN_ERROR = 7600901 } | 定义滤镜效果的状态码。 |
| EffectTileMode { CLAMP = 0, REPEAT, MIRROR, DECAL } | 定义着色器效果平铺模式的枚举。 |
函数
| 名称 | 描述 |
|---|---|
| EffectErrorCode OH_Filter_CreateEffect (OH_PixelmapNative *pixelmap, OH_Filter **filter) | 创建一个OH_Filter对象。 |
| EffectErrorCode OH_Filter_Release (OH_Filter *filter) | 释放OH_Filter对象。 |
| EffectErrorCode OH_Filter_Blur (OH_Filter *filter, float radius) | 创建一个毛玻璃滤镜效果,然后添加到滤镜里面。 |
| EffectErrorCode OH_Filter_BlurWithTileMode (OH_Filter *filter, float radius, EffectTileMode tileMode) | 创建一个毛玻璃滤镜效果,然后添加到滤镜里面。 |
| EffectErrorCode OH_Filter_Brighten (OH_Filter *filter, float brightness) | 创建一个提亮效果并且添加到滤镜中。 |
| EffectErrorCode OH_Filter_GrayScale (OH_Filter *filter) | 创建一个灰度效果并且添加到滤镜中。 |
| EffectErrorCode OH_Filter_Invert (OH_Filter *filter) | 创建一个反色效果并且添加到滤镜中。 |
| EffectErrorCode OH_Filter_SetColorMatrix (OH_Filter *filter, OH_Filter_ColorMatrix *matrix) | 通过矩阵创建一个自定义的效果并且添加到滤镜中。 |
| EffectErrorCode OH_Filter_GetEffectPixelMap (OH_Filter *filter, OH_PixelmapNative **pixelmap) | 获取滤镜生成的位图。 |
类型定义说明
OH_Filter
typedef struct OH_Filter OH_Filter
描述
滤镜结构体,用来生成滤镜位图。
起始版本: 12
OH_PixelmapNative
typedef struct OH_PixelmapNative OH_PixelmapNative
描述
定义一个位图。
起始版本: 12
枚举类型说明
EffectErrorCode
enum EffectErrorCode
描述
定义滤镜效果的状态码。
起始版本: 12
| 枚举值 | 描述 |
|---|---|
| EFFECT_SUCCESS | 成功。 |
| EFFECT_BAD_PARAMETER | 无效的参数。 |
| EFFECT_UNSUPPORTED_OPERATION | 不支持的操作。 |
| EFFECT_UNKNOWN_ERROR | 未知错误。 |
EffectTileMode
enum EffectTileMode
描述
定义着色器效果平铺模式的枚举。
起始版本: 14
| 枚举值 | 描述 |
|---|---|
| CLAMP | 如果着色器效果超出其原始边界,剩余区域使用着色器的边缘颜色填充。 |
| REPEAT | 在水平和垂直方向上重复着色器效果。 |
| MIRROR | 在水平和垂直方向上重复着色器效果,交替镜像图像,以便相邻图像始终接合。 |
| DECAL | 仅在其原始边界内渲染着色器效果。 |
函数说明
OH_Filter_Blur()
EffectErrorCode OH_Filter_Blur (OH_Filter* filter, float radius )
描述
创建一个毛玻璃滤镜效果,然后添加到滤镜里面。
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| filter | 滤镜指针。 |
| radius | 毛玻璃效果的模糊半径,单位为像素。 |
返回:
返回结果参见状态码EffectErrorCode。
OH_Filter_BlurWithTileMode()
EffectErrorCode OH_Filter_BlurWithTileMode (OH_Filter* filter, float radius, EffectTileMode tileMode )
描述
创建一个毛玻璃滤镜效果,然后添加到滤镜里面。
起始版本: 14
参数:
| 名称 | 描述 |
|---|---|
| filter | 滤镜指针。 |
| radius | 毛玻璃效果的模糊半径,单位为像素。 |
| tileMode | 着色器效果平铺模式,支持可选的具体模式可见EffectTileMode枚举。 |
返回:
返回结果参见状态码EffectErrorCode。
操作成功则返回EFFECT_SUCCESS。
无效参数则返回EFFECT_BAD_PARAMETER。
OH_Filter_Brighten()
EffectErrorCode OH_Filter_Brighten (OH_Filter* filter, float brightness )
描述
创建一个提亮效果并且添加到滤镜中。
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| filter | 滤镜指针。 |
| brightness | 提亮效果的亮度值, 取值范围在0-1之间,取值为0时图像保持不变。 |
返回:
返回结果参见状态码EffectErrorCode。
OH_Filter_CreateEffect()
EffectErrorCode OH_Filter_CreateEffect (OH_PixelmapNative* pixelmap, OH_Filter** filter )
描述
创建一个OH_Filter对象。
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| pixelmap | 创建滤镜的位图。 |
| filter | 用来接收滤镜的二级指针。 |
返回:
返回结果参见状态码EffectErrorCode。
OH_Filter_GetEffectPixelMap()
EffectErrorCode OH_Filter_GetEffectPixelMap (OH_Filter* filter, OH_PixelmapNative** pixelmap )
描述
获取滤镜生成的位图。
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| filter | 用来创建位图的滤镜指针。 |
| pixelmap | 用来接收位图的二级指针。 |
返回:
返回结果参见状态码EffectErrorCode。
OH_Filter_GrayScale()
EffectErrorCode OH_Filter_GrayScale (OH_Filter* filter)
描述
创建一个灰度效果并且添加到滤镜中。
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| filter | 滤镜指针。 |
返回:
返回结果参见状态码EffectErrorCode。
OH_Filter_Invert()
EffectErrorCode OH_Filter_Invert (OH_Filter* filter)
描述
创建一个反色效果并且添加到滤镜中。
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| filter | 滤镜指针。 |
返回:
返回结果参见状态码EffectErrorCode。
OH_Filter_Release()
EffectErrorCode OH_Filter_Release (OH_Filter* filter)
描述
释放OH_Filter对象。
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| filter | 被释放的对象指针。 |
返回:
返回结果参见状态码EffectErrorCode。
OH_Filter_SetColorMatrix()
EffectErrorCode OH_Filter_SetColorMatrix (OH_Filter* filter, OH_Filter_ColorMatrix* matrix )
描述
通过矩阵创建一个自定义的效果并且添加到滤镜中。
起始版本: 12
参数:
| 名称 | 描述 |
|---|---|
| filter | 滤镜指针。 |
| matrix | 用来创建滤镜的自定义矩阵 OH_Filter_ColorMatrix。 |
返回:
返回结果参见状态码EffectErrorCode。