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| [EffectTileMode](#effecttilemode) { CLAMP = 0, REPEAT, MIRROR, DECAL } | 定义着色器效果平铺模式的枚举。 | 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_BlurWithTileMode](#oh_filter_blurwithtilemode) ([OH_Filter](_o_h___filter.md) \*filter, float radius, [EffectTileMode](#effecttilemode) tileMode) | 创建一个毛玻璃滤镜效果,然后添加到滤镜里面。 | 53| [EffectErrorCode](#effecterrorcode) [OH_Filter_Brighten](#oh_filter_brighten) ([OH_Filter](_o_h___filter.md) \*filter, float brightness) | 创建一个提亮效果并且添加到滤镜中。 | 54| [EffectErrorCode](#effecterrorcode) [OH_Filter_GrayScale](#oh_filter_grayscale) ([OH_Filter](_o_h___filter.md) \*filter) | 创建一个灰度效果并且添加到滤镜中。 | 55| [EffectErrorCode](#effecterrorcode) [OH_Filter_Invert](#oh_filter_invert) ([OH_Filter](_o_h___filter.md) \*filter) | 创建一个反色效果并且添加到滤镜中。 | 56| [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) | 通过矩阵创建一个自定义的效果并且添加到滤镜中。 | 57| [EffectErrorCode](#effecterrorcode) [OH_Filter_GetEffectPixelMap](#oh_filter_geteffectpixelmap) ([OH_Filter](_o_h___filter.md) \*filter, OH_PixelmapNative \*\*pixelmap) | 获取滤镜生成的位图。 | 58 59 60## 类型定义说明 61 62 63### EffectErrorCode 64 65``` 66typedef enum EffectErrorCode EffectErrorCode 67``` 68 69**描述** 70 71定义滤镜效果的状态码。 72 73**起始版本:** 12 74 75 76### pixelMap 77 78``` 79typedef struct OH_Filter pixelMap 80``` 81 82**描述** 83 84滤镜结构体,用来生成滤镜位图。 85 86定义一个位图。 87 88**起始版本:** 12 89 90**起始版本:** 12 指向pixelMap对象的智能指针 91 92 93## 枚举类型说明 94 95 96### EffectErrorCode 97 98``` 99enum EffectErrorCode 100``` 101 102**描述** 103 104定义滤镜效果的状态码。 105 106**起始版本:** 12 107 108| 枚举值 | 描述 | 109| -------- | -------- | 110| EFFECT_SUCCESS | 成功 | 111| EFFECT_BAD_PARAMETER | 无效的参数 | 112| EFFECT_UNSUPPORTED_OPERATION | 不支持的操作 | 113| EFFECT_UNKNOWN_ERROR | 未知错误 | 114 115 116### EffectTileMode 117 118``` 119enum EffectTileMode 120``` 121 122**描述** 123 124定义着色器效果平铺模式的枚举。 125 126**起始版本:** 14 127 128| 枚举值 | 描述 | 129| -------- | -------- | 130| CLAMP | 如果着色器效果超出其原始边界,剩余区域使用着色器的边缘颜色填充。 | 131| REPEAT | 在水平和垂直方向上重复着色器效果。 | 132| MIRROR | 在水平和垂直方向上重复着色器效果,交替镜像图像,以便相邻图像始终接合。 | 133| DECAL | 仅在其原始边界内渲染着色器效果。 | 134 135## 函数说明 136 137 138### OH_Filter_Blur() 139 140``` 141EffectErrorCode OH_Filter_Blur (OH_Filter* filter, float radius ) 142``` 143 144**描述** 145 146创建一个毛玻璃滤镜效果,然后添加到滤镜里面。 147 148**起始版本:** 12 149 150**参数:** 151 152| 名称 | 描述 | 153| -------- | -------- | 154| filter | 滤镜指针。 | 155| radius | 毛玻璃效果的模糊半径,单位为像素。 | 156 157**返回:** 158 159返回结果参见状态码[EffectErrorCode](#effecterrorcode). 160 161 162### OH_Filter_BlurWithTileMode() 163 164``` 165EffectErrorCode OH_Filter_BlurWithTileMode (OH_Filter* filter, float radius, EffectTileMode tileMode ) 166``` 167 168**描述** 169 170创建一个毛玻璃滤镜效果,然后添加到滤镜里面。 171 172**起始版本:** 14 173 174**参数:** 175 176| 名称 | 描述 | 177| -------- | -------- | 178| filter | 滤镜指针。 | 179| radius | 毛玻璃效果的模糊半径,单位为像素。 | 180| tileMode | 着色器效果平铺模式,支持可选的具体模式可见[EffectTileMode](#effecttilemode)枚举。 | 181 182**返回:** 183 184返回结果参见状态码[EffectErrorCode](#effecterrorcode). 185 186### OH_Filter_Brighten() 187 188``` 189EffectErrorCode OH_Filter_Brighten (OH_Filter* filter, float brightness ) 190``` 191 192**描述** 193 194创建一个提亮效果并且添加到滤镜中。 195 196**起始版本:** 12 197 198**参数:** 199 200| 名称 | 描述 | 201| -------- | -------- | 202| filter | 滤镜指针。 | 203| brightness | 提亮效果的亮度值, 取值范围在0-1之间,取值为0时图像保持不变。 | 204 205**返回:** 206 207返回结果参见状态码[EffectErrorCode](#effecterrorcode). 208 209 210### OH_Filter_CreateEffect() 211 212``` 213EffectErrorCode OH_Filter_CreateEffect (OH_PixelmapNative* pixelmap, OH_Filter** filter ) 214``` 215 216**描述** 217 218创建一个OH_Filter对象。 219 220**起始版本:** 12 221 222**参数:** 223 224| 名称 | 描述 | 225| -------- | -------- | 226| pixelmap | 创建滤镜的位图。 | 227| filter | 用来接收滤镜的二级指针。 | 228 229**返回:** 230 231返回结果参见状态码[EffectErrorCode](#effecterrorcode). 232 233 234### OH_Filter_GetEffectPixelMap() 235 236``` 237EffectErrorCode OH_Filter_GetEffectPixelMap (OH_Filter* filter, OH_PixelmapNative** pixelmap ) 238``` 239 240**描述** 241 242获取滤镜生成的位图。 243 244**起始版本:** 12 245 246**参数:** 247 248| 名称 | 描述 | 249| -------- | -------- | 250| filter | 用来创建位图的滤镜指针。 | 251| pixelmap | 用来接收位图的二级指针。 | 252 253**返回:** 254 255返回结果参见状态码[EffectErrorCode](#effecterrorcode). 256 257 258### OH_Filter_GrayScale() 259 260``` 261EffectErrorCode OH_Filter_GrayScale (OH_Filter* filter) 262``` 263 264**描述** 265 266创建一个灰度效果并且添加到滤镜中。 267 268**起始版本:** 12 269 270**参数:** 271 272| 名称 | 描述 | 273| -------- | -------- | 274| filter | 滤镜指针。 | 275 276**返回:** 277 278返回结果参见状态码[EffectErrorCode](#effecterrorcode). 279 280 281### OH_Filter_Invert() 282 283``` 284EffectErrorCode OH_Filter_Invert (OH_Filter* filter) 285``` 286 287**描述** 288 289创建一个反色效果并且添加到滤镜中。 290 291**起始版本:** 12 292 293**参数:** 294 295| 名称 | 描述 | 296| -------- | -------- | 297| filter | 滤镜指针。 | 298 299**返回:** 300 301返回结果参见状态码[EffectErrorCode](#effecterrorcode). 302 303 304### OH_Filter_Release() 305 306``` 307EffectErrorCode OH_Filter_Release (OH_Filter* filter) 308``` 309 310**描述** 311 312释放OH_Filter对象。 313 314**起始版本:** 12 315 316**参数:** 317 318| 名称 | 描述 | 319| -------- | -------- | 320| filter | 被释放的对象指针。 | 321 322**返回:** 323 324返回结果参见状态码[EffectErrorCode](#effecterrorcode). 325 326 327### OH_Filter_SetColorMatrix() 328 329``` 330EffectErrorCode OH_Filter_SetColorMatrix (OH_Filter* filter, OH_Filter_ColorMatrix* matrix ) 331``` 332 333**描述** 334 335通过矩阵创建一个自定义的效果并且添加到滤镜中。 336 337**起始版本:** 12 338 339**参数:** 340 341| 名称 | 描述 | 342| -------- | -------- | 343| filter | 滤镜指针。 | 344| matrix | 用来创建滤镜的自定义矩阵 [OH_Filter_ColorMatrix](_o_h___filter___color_matrix.md)。 | 345 346**返回:** 347 348返回结果参见状态码[EffectErrorCode](#effecterrorcode). 349