1# EffectKit 2 3 4## 概述 5 6提供处理图像的一些基础能力,包括对当前图像的亮度调节、模糊化、灰度调节等。 7 8**起始版本:** 12 9 10 11## 汇总 12 13 14### 文件 15 16| 名称 | 描述 | 17| -------- | -------- | 18| [effect_filter.h](effect__filter_8h.md) | 声明滤镜效果的接口。 | 19| [effect_types.h](effect__types_8h.md) | 声明滤镜效果的数据类型。 | 20 21 22### 结构体 23 24| 名称 | 描述 | 25| -------- | -------- | 26| struct [OH_Filter](_o_h___filter.md) | 滤镜结构体,用来生成滤镜位图。 | 27| struct [OH_Filter_ColorMatrix](_o_h___filter___color_matrix.md) | 定义一个用来创建滤镜效果的矩阵。 | 28 29 30### 类型定义 31 32| 名称 | 描述 | 33| -------- | -------- | 34| typedef struct [OH_Filter](_o_h___filter.md) [pixelMap](#pixelmap) | 滤镜结构体,用来生成滤镜位图。 | 35| typedef enum [EffectErrorCode](#effecterrorcode) [EffectErrorCode](#effecterrorcode) | 定义滤镜效果的状态码。 | 36 37 38### 枚举 39 40| 名称 | 描述 | 41| -------- | -------- | 42| [EffectErrorCode](#effecterrorcode) { EFFECT_SUCCESS = 0, EFFECT_BAD_PARAMETER = 401, EFFECT_UNSUPPORTED_OPERATION = 7600201, EFFECT_UNKNOWN_ERROR = 7600901 } | 定义滤镜效果的状态码。 | 43 44 45### 函数 46 47| 名称 | 描述 | 48| -------- | -------- | 49| [EffectErrorCode](#effecterrorcode) [OH_Filter_CreateEffect](#oh_filter_createeffect) (OH_PixelmapNative \*pixelmap, [OH_Filter](_o_h___filter.md) \*\*filter) | 创建一个OH_Filter对象。 | 50| [EffectErrorCode](#effecterrorcode) [OH_Filter_Release](#oh_filter_release) ([OH_Filter](_o_h___filter.md) \*filter) | 释放OH_Filter对象。 | 51| [EffectErrorCode](#effecterrorcode) [OH_Filter_Blur](#oh_filter_blur) ([OH_Filter](_o_h___filter.md) \*filter, float radius) | 创建一个毛玻璃滤镜效果,然后添加到滤镜里面。 | 52| [EffectErrorCode](#effecterrorcode) [OH_Filter_Brighten](#oh_filter_brighten) ([OH_Filter](_o_h___filter.md) \*filter, float brightness) | 创建一个提亮效果并且添加到滤镜中。 | 53| [EffectErrorCode](#effecterrorcode) [OH_Filter_GrayScale](#oh_filter_grayscale) ([OH_Filter](_o_h___filter.md) \*filter) | 创建一个灰度效果并且添加到滤镜中。 | 54| [EffectErrorCode](#effecterrorcode) [OH_Filter_Invert](#oh_filter_invert) ([OH_Filter](_o_h___filter.md) \*filter) | 创建一个反色效果并且添加到滤镜中。 | 55| [EffectErrorCode](#effecterrorcode) [OH_Filter_SetColorMatrix](#oh_filter_setcolormatrix) ([OH_Filter](_o_h___filter.md) \*filter, [OH_Filter_ColorMatrix](_o_h___filter___color_matrix.md) \*matrix) | 通过矩阵创建一个自定义的效果并且添加到滤镜中。 | 56| [EffectErrorCode](#effecterrorcode) [OH_Filter_GetEffectPixelMap](#oh_filter_geteffectpixelmap) ([OH_Filter](_o_h___filter.md) \*filter, OH_PixelmapNative \*\*pixelmap) | 获取滤镜生成的位图。 | 57 58 59## 类型定义说明 60 61 62### EffectErrorCode 63 64``` 65typedef enum EffectErrorCode EffectErrorCode 66``` 67 68**描述** 69 70定义滤镜效果的状态码。 71 72**起始版本:** 12 73 74 75### pixelMap 76 77``` 78typedef struct OH_Filter pixelMap 79``` 80 81**描述** 82 83滤镜结构体,用来生成滤镜位图。 84 85定义一个位图。 86 87**起始版本:** 12 88 89**起始版本:** 12 指向pixelMap对象的智能指针 90 91 92## 枚举类型说明 93 94 95### EffectErrorCode 96 97``` 98enum EffectErrorCode 99``` 100 101**描述** 102 103定义滤镜效果的状态码。 104 105**起始版本:** 12 106 107| 枚举值 | 描述 | 108| -------- | -------- | 109| EFFECT_SUCCESS | 成功 | 110| EFFECT_BAD_PARAMETER | 无效的参数 | 111| EFFECT_UNSUPPORTED_OPERATION | 不支持的操作 | 112| EFFECT_UNKNOWN_ERROR | 未知错误 | 113 114 115## 函数说明 116 117 118### OH_Filter_Blur() 119 120``` 121EffectErrorCode OH_Filter_Blur (OH_Filter* filter, float radius ) 122``` 123 124**描述** 125 126创建一个毛玻璃滤镜效果,然后添加到滤镜里面。 127 128**起始版本:** 12 129 130**参数:** 131 132| 名称 | 描述 | 133| -------- | -------- | 134| filter | 滤镜指针。 | 135| radius | 毛玻璃效果的模糊半径,单位为像素。 | 136 137**返回:** 138 139返回结果参见状态码[EffectErrorCode](#effecterrorcode). 140 141 142### OH_Filter_Brighten() 143 144``` 145EffectErrorCode OH_Filter_Brighten (OH_Filter* filter, float brightness ) 146``` 147 148**描述** 149 150创建一个提亮效果并且添加到滤镜中。 151 152**起始版本:** 12 153 154**参数:** 155 156| 名称 | 描述 | 157| -------- | -------- | 158| filter | 滤镜指针。 | 159| brightness | 提亮效果的亮度值, 取值范围在0-1之间,取值为0时图像保持不变。 | 160 161**返回:** 162 163返回结果参见状态码[EffectErrorCode](#effecterrorcode). 164 165 166### OH_Filter_CreateEffect() 167 168``` 169EffectErrorCode OH_Filter_CreateEffect (OH_PixelmapNative* pixelmap, OH_Filter** filter ) 170``` 171 172**描述** 173 174创建一个OH_Filter对象。 175 176**起始版本:** 12 177 178**参数:** 179 180| 名称 | 描述 | 181| -------- | -------- | 182| pixelmap | 创建滤镜的位图。 | 183| filter | 用来接收滤镜的二级指针。 | 184 185**返回:** 186 187返回结果参见状态码[EffectErrorCode](#effecterrorcode). 188 189 190### OH_Filter_GetEffectPixelMap() 191 192``` 193EffectErrorCode OH_Filter_GetEffectPixelMap (OH_Filter* filter, OH_PixelmapNative** pixelmap ) 194``` 195 196**描述** 197 198获取滤镜生成的位图。 199 200**起始版本:** 12 201 202**参数:** 203 204| 名称 | 描述 | 205| -------- | -------- | 206| filter | 用来创建位图的滤镜指针。 | 207| pixelmap | 用来接收位图的二级指针。 | 208 209**返回:** 210 211返回结果参见状态码[EffectErrorCode](#effecterrorcode). 212 213 214### OH_Filter_GrayScale() 215 216``` 217EffectErrorCode OH_Filter_GrayScale (OH_Filter* filter) 218``` 219 220**描述** 221 222创建一个灰度效果并且添加到滤镜中。 223 224**起始版本:** 12 225 226**参数:** 227 228| 名称 | 描述 | 229| -------- | -------- | 230| filter | 滤镜指针。 | 231 232**返回:** 233 234返回结果参见状态码[EffectErrorCode](#effecterrorcode). 235 236 237### OH_Filter_Invert() 238 239``` 240EffectErrorCode OH_Filter_Invert (OH_Filter* filter) 241``` 242 243**描述** 244 245创建一个反色效果并且添加到滤镜中。 246 247**起始版本:** 12 248 249**参数:** 250 251| 名称 | 描述 | 252| -------- | -------- | 253| filter | 滤镜指针。 | 254 255**返回:** 256 257返回结果参见状态码[EffectErrorCode](#effecterrorcode). 258 259 260### OH_Filter_Release() 261 262``` 263EffectErrorCode OH_Filter_Release (OH_Filter* filter) 264``` 265 266**描述** 267 268释放OH_Filter对象。 269 270**起始版本:** 12 271 272**参数:** 273 274| 名称 | 描述 | 275| -------- | -------- | 276| filter | 被释放的对象指针。 | 277 278**返回:** 279 280返回结果参见状态码[EffectErrorCode](#effecterrorcode). 281 282 283### OH_Filter_SetColorMatrix() 284 285``` 286EffectErrorCode OH_Filter_SetColorMatrix (OH_Filter* filter, OH_Filter_ColorMatrix* matrix ) 287``` 288 289**描述** 290 291通过矩阵创建一个自定义的效果并且添加到滤镜中。 292 293**起始版本:** 12 294 295**参数:** 296 297| 名称 | 描述 | 298| -------- | -------- | 299| filter | 滤镜指针。 | 300| matrix | 用来创建滤镜的自定义矩阵 [OH_Filter_ColorMatrix](_o_h___filter___color_matrix.md)。 | 301 302**返回:** 303 304返回结果参见状态码[EffectErrorCode](#effecterrorcode). 305