1# effect_filter.h 2<!--Kit: ArkGraphics 2D--> 3<!--Subsystem: Multimedia--> 4<!--Owner: @hanamaru--> 5<!--Designer: @gaoweihua--> 6<!--Tester: @zhaoxiaoguang2--> 7<!--Adviser: @ge-yafang--> 8 9## 概述 10 11声明滤镜效果的接口。 12 13**引用文件:** <native_effect/effect_filter.h> 14 15**库:** libnative_effect.so 16 17**系统能力:** SystemCapability.Multimedia.Image.Core 18 19**起始版本:** 12 20 21**相关模块:** [effectKit](capi-effectkit.md) 22 23## 汇总 24 25### 函数 26 27| 名称 | 描述 | 28| -- | -- | 29| [EffectErrorCode OH_Filter_CreateEffect(OH_PixelmapNative* pixelmap, OH_Filter** filter)](#oh_filter_createeffect) | 创建一个OH_Filter对象。 | 30| [EffectErrorCode OH_Filter_Release(OH_Filter* filter)](#oh_filter_release) | 释放OH_Filter对象。 | 31| [EffectErrorCode OH_Filter_Blur(OH_Filter* filter, float radius)](#oh_filter_blur) | 创建一个毛玻璃滤镜效果,然后添加到滤镜里面。 | 32| [EffectErrorCode OH_Filter_BlurWithTileMode(OH_Filter* filter, float radius, EffectTileMode tileMode)](#oh_filter_blurwithtilemode) | 创建一个毛玻璃滤镜效果,然后添加到滤镜里面。 | 33| [EffectErrorCode OH_Filter_Brighten(OH_Filter* filter, float brightness)](#oh_filter_brighten) | 创建一个提亮效果并且添加到滤镜中。 | 34| [EffectErrorCode OH_Filter_GrayScale(OH_Filter* filter)](#oh_filter_grayscale) | 创建一个灰度效果并且添加到滤镜中。 | 35| [EffectErrorCode OH_Filter_Invert(OH_Filter* filter)](#oh_filter_invert) | 创建一个反色效果并且添加到滤镜中。 | 36| [EffectErrorCode OH_Filter_SetColorMatrix(OH_Filter* filter, OH_Filter_ColorMatrix* matrix)](#oh_filter_setcolormatrix) | 通过矩阵创建一个自定义的效果并且添加到滤镜中。 | 37| [EffectErrorCode OH_Filter_GetEffectPixelMap(OH_Filter* filter, OH_PixelmapNative** pixelmap)](#oh_filter_geteffectpixelmap) | 获取滤镜生成的位图。 | 38 39## 函数说明 40 41### OH_Filter_CreateEffect() 42 43``` 44EffectErrorCode OH_Filter_CreateEffect(OH_PixelmapNative* pixelmap, OH_Filter** filter) 45``` 46 47**描述** 48 49创建一个OH_Filter对象。 50 51**起始版本:** 12 52 53 54**参数:** 55 56| 参数项 | 描述 | 57| -- | -- | 58| [OH_PixelmapNative](capi-drawing-oh-pixelmapnative.md)* pixelmap | 创建滤镜的位图。 | 59| [OH_Filter](capi-effectkit-oh-filter.md)** filter | 用来接收滤镜的二级指针。 | 60 61**返回:** 62 63| 类型 | 说明 | 64| -- | -- | 65| [EffectErrorCode](capi-effect-types-h.md#effecterrorcode) | 返回结果参见状态码[EffectErrorCode](capi-effect-types-h.md#effecterrorcode)。 | 66 67### OH_Filter_Release() 68 69``` 70EffectErrorCode OH_Filter_Release(OH_Filter* filter) 71``` 72 73**描述** 74 75释放OH_Filter对象。 76 77**起始版本:** 12 78 79 80**参数:** 81 82| 参数项 | 描述 | 83| -- | -- | 84| [OH_Filter](capi-effectkit-oh-filter.md)* filter | 被释放的对象指针。 | 85 86**返回:** 87 88| 类型 | 说明 | 89| -- | -- | 90| [EffectErrorCode](capi-effect-types-h.md#effecterrorcode) | 返回结果参见状态码[EffectErrorCode](capi-effect-types-h.md#effecterrorcode)。 | 91 92### OH_Filter_Blur() 93 94``` 95EffectErrorCode OH_Filter_Blur(OH_Filter* filter, float radius) 96``` 97 98**描述** 99 100创建一个毛玻璃滤镜效果,然后添加到滤镜里面。 101 102**起始版本:** 12 103 104 105**参数:** 106 107| 参数项 | 描述 | 108| -- | -- | 109| [OH_Filter](capi-effectkit-oh-filter.md)* filter | 滤镜指针。 | 110| float radius | 毛玻璃效果的模糊半径,单位为像素。 | 111 112**返回:** 113 114| 类型 | 说明 | 115| -- | -- | 116| [EffectErrorCode](capi-effect-types-h.md#effecterrorcode) | 返回结果参见状态码[EffectErrorCode](capi-effect-types-h.md#effecterrorcode)。 | 117 118### OH_Filter_BlurWithTileMode() 119 120``` 121EffectErrorCode OH_Filter_BlurWithTileMode(OH_Filter* filter, float radius, EffectTileMode tileMode) 122``` 123 124**描述** 125 126创建一个毛玻璃滤镜效果,然后添加到滤镜里面,支持着色器效果平铺模式选择。 127 128**起始版本:** 14 129 130 131**参数:** 132 133| 参数项 | 描述 | 134| -- | -- | 135| [OH_Filter](capi-effectkit-oh-filter.md)* filter | 滤镜指针。 | 136| float radius | 毛玻璃效果的模糊半径,单位为像素。 | 137| [EffectTileMode](capi-effect-types-h.md#effecttilemode) tileMode | 着色器效果平铺模式,支持可选的具体模式可见[EffectTileMode](capi-effect-types-h.md#effecttilemode)枚举。 | 138 139**返回:** 140 141| 类型 | 说明 | 142| -- | -- | 143| [EffectErrorCode](capi-effect-types-h.md#effecterrorcode) | 返回结果参见状态码[EffectErrorCode](capi-effect-types-h.md#effecterrorcode)。<br> 操作成功则返回EFFECT_SUCCESS。<br> 无效参数则返回EFFECT_BAD_PARAMETER。 | 144 145### OH_Filter_Brighten() 146 147``` 148EffectErrorCode OH_Filter_Brighten(OH_Filter* filter, float brightness) 149``` 150 151**描述** 152 153创建一个提亮效果并且添加到滤镜中。 154 155**起始版本:** 12 156 157 158**参数:** 159 160| 参数项 | 描述 | 161| -- | -- | 162| [OH_Filter](capi-effectkit-oh-filter.md)* filter | 滤镜指针。 | 163| float brightness | 提亮效果的亮度值,取值范围在0-1之间,取值为0时图像保持不变,取值为1时图像全白。 | 164 165**返回:** 166 167| 类型 | 说明 | 168| -- | -- | 169| [EffectErrorCode](capi-effect-types-h.md#effecterrorcode) | 返回结果参见状态码[EffectErrorCode](capi-effect-types-h.md#effecterrorcode)。 | 170 171### OH_Filter_GrayScale() 172 173``` 174EffectErrorCode OH_Filter_GrayScale(OH_Filter* filter) 175``` 176 177**描述** 178 179创建一个灰度效果并且添加到滤镜中。 180 181**起始版本:** 12 182 183 184**参数:** 185 186| 参数项 | 描述 | 187| -- | -- | 188| [OH_Filter](capi-effectkit-oh-filter.md)* filter | 滤镜指针。 | 189 190**返回:** 191 192| 类型 | 说明 | 193| -- | -- | 194| [EffectErrorCode](capi-effect-types-h.md#effecterrorcode) | 返回结果参见状态码[EffectErrorCode](capi-effect-types-h.md#effecterrorcode)。 | 195 196### OH_Filter_Invert() 197 198``` 199EffectErrorCode OH_Filter_Invert(OH_Filter* filter) 200``` 201 202**描述** 203 204创建一个反色效果并且添加到滤镜中。 205 206**起始版本:** 12 207 208 209**参数:** 210 211| 参数项 | 描述 | 212| -- | -- | 213| [OH_Filter](capi-effectkit-oh-filter.md)* filter | 滤镜指针。 | 214 215**返回:** 216 217| 类型 | 说明 | 218| -- | -- | 219| [EffectErrorCode](capi-effect-types-h.md#effecterrorcode) | 返回结果参见状态码[EffectErrorCode](capi-effect-types-h.md#effecterrorcode)。 | 220 221### OH_Filter_SetColorMatrix() 222 223``` 224EffectErrorCode OH_Filter_SetColorMatrix(OH_Filter* filter, OH_Filter_ColorMatrix* matrix) 225``` 226 227**描述** 228 229通过矩阵创建一个自定义的效果并且添加到滤镜中。 230 231**起始版本:** 12 232 233 234**参数:** 235 236| 参数项 | 描述 | 237| -- | -- | 238| [OH_Filter](capi-effectkit-oh-filter.md)* filter | 滤镜指针。 | 239| [OH_Filter_ColorMatrix](capi-effectkit-oh-filter-colormatrix.md)* matrix | 用来创建滤镜的自定义矩阵[OH_Filter_ColorMatrix](capi-effectkit-oh-filter-colormatrix.md)。 | 240 241**返回:** 242 243| 类型 | 说明 | 244| -- | -- | 245| [EffectErrorCode](capi-effect-types-h.md#effecterrorcode) | 返回结果参见状态码[EffectErrorCode](capi-effect-types-h.md#effecterrorcode)。 | 246 247### OH_Filter_GetEffectPixelMap() 248 249``` 250EffectErrorCode OH_Filter_GetEffectPixelMap(OH_Filter* filter, OH_PixelmapNative** pixelmap) 251``` 252 253**描述** 254 255获取滤镜生成的位图。 256 257**起始版本:** 12 258 259 260**参数:** 261 262| 参数项 | 描述 | 263| -- | -- | 264| [OH_Filter](capi-effectkit-oh-filter.md)* filter | 用来创建位图的滤镜指针。 | 265| [OH_PixelmapNative](capi-drawing-oh-pixelmapnative.md)** pixelmap | 用来接收位图的二级指针。 | 266 267**返回:** 268 269| 类型 | 说明 | 270| -- | -- | 271| [EffectErrorCode](capi-effect-types-h.md#effecterrorcode) | 返回结果参见状态码[EffectErrorCode](capi-effect-types-h.md#effecterrorcode)。 | 272 273 274