1# drawing_image_filter.h 2 3<!--Kit: ArkGraphics 2D--> 4<!--Subsystem: Graphic--> 5<!--Owner: @hangmengxin--> 6<!--Designer: @wangyanglan--> 7<!--Tester: @nobuggers--> 8<!--Adviser: @ge-yafang--> 9 10## 概述 11 12声明与绘图模块中的图像滤波器对象相关的函数。 13 14**引用文件:** <native_drawing/drawing_image_filter.h> 15 16**库:** libnative_drawing.so 17 18**起始版本:** 12 19 20**相关模块:** [Drawing](capi-drawing.md) 21 22## 汇总 23 24### 函数 25 26| 名称 | 描述 | 27| -- | -- | 28| [OH_Drawing_ImageFilter* OH_Drawing_ImageFilterCreateBlur(float sigmaX, float sigmaY, OH_Drawing_TileMode tileMode,OH_Drawing_ImageFilter* imageFilter)](#oh_drawing_imagefiltercreateblur) | 创建具有模糊效果的图像滤波器。 | 29| [OH_Drawing_ImageFilter* OH_Drawing_ImageFilterCreateBlurWithCrop(float sigmaX, float sigmaY,OH_Drawing_TileMode tileMode, OH_Drawing_ImageFilter* input, const OH_Drawing_Rect* rect)](#oh_drawing_imagefiltercreateblurwithcrop) | 创建具有模糊效果的图像滤波器。<br> 支持传入裁剪矩形,用于限制模糊效果仅在图像的指定矩形区域内生效。 | 30| [OH_Drawing_ImageFilter* OH_Drawing_ImageFilterCreateFromColorFilter(OH_Drawing_ColorFilter* colorFilter,OH_Drawing_ImageFilter* imageFilter)](#oh_drawing_imagefiltercreatefromcolorfilter) | 创建具有颜色变换效果的图像滤波器。本接口会产生错误码,可以通过[OH_Drawing_ErrorCodeGet](capi-drawing-error-code-h.md#oh_drawing_errorcodeget)查看错误码的取值。colorFilter为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。 | 31| [OH_Drawing_ImageFilter* OH_Drawing_ImageFilterCreateOffset(float x, float y, OH_Drawing_ImageFilter* imageFilter)](#oh_drawing_imagefiltercreateoffset) | 创建一个偏移滤波器,将输入的滤波器按照指定向量进行平移。 | 32| [OH_Drawing_ImageFilter* OH_Drawing_ImageFilterCreateFromShaderEffect(OH_Drawing_ShaderEffect* shaderEffect)](#oh_drawing_imagefiltercreatefromshadereffect) | 基于着色器创建一个图像滤波器。 | 33| [void OH_Drawing_ImageFilterDestroy(OH_Drawing_ImageFilter* imageFilter)](#oh_drawing_imagefilterdestroy) | 销毁图像滤波器对象并回收该对象占有内存。 | 34 35## 函数说明 36 37### OH_Drawing_ImageFilterCreateBlur() 38 39``` 40OH_Drawing_ImageFilter* OH_Drawing_ImageFilterCreateBlur(float sigmaX, float sigmaY, OH_Drawing_TileMode tileMode,OH_Drawing_ImageFilter* imageFilter) 41``` 42 43**描述** 44 45创建具有模糊效果的图像滤波器。 46 47**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing 48 49**起始版本:** 12 50 51 52**参数:** 53 54| 参数项 | 描述 | 55| -- | -- | 56| float sigmaX | 表示沿x轴方向上高斯模糊的标准差,必须大于0。 | 57| float sigmaY | 表示沿y轴方向上高斯模糊的标准差,必须大于0。 | 58| [OH_Drawing_TileMode](capi-drawing-shader-effect-h.md#oh_drawing_tilemode) tileMode | 图像滤波器效果平铺模式类型,支持可选的具体模式可见[OH_Drawing_TileMode](capi-drawing-shader-effect-h.md#oh_drawing_tilemode)枚举。 | 59| [OH_Drawing_ImageFilter](capi-drawing-oh-drawing-imagefilter.md)* imageFilter | 表示将要和当前图像滤波器叠加的输入滤波器, 如果为NULL,表示直接将当前图像滤波器作用于原始图像。 | 60 61**返回:** 62 63| 类型 | 说明 | 64| -- | -- | 65| [OH_Drawing_ImageFilter](capi-drawing-oh-drawing-imagefilter.md)* | 函数会返回一个指针,指针指向创建的图像滤波器对象[OH_Drawing_ImageFilter](capi-drawing-oh-drawing-imagefilter.md)。如果对象返回NULL,表示创建失败;可能的原因是可用内存为空。 | 66 67### OH_Drawing_ImageFilterCreateBlurWithCrop() 68 69``` 70OH_Drawing_ImageFilter* OH_Drawing_ImageFilterCreateBlurWithCrop(float sigmaX, float sigmaY, OH_Drawing_TileMode tileMode, OH_Drawing_ImageFilter* input, const OH_Drawing_Rect* rect) 71``` 72 73**描述** 74 75创建具有模糊效果的图像滤波器。 76 77支持传入裁剪矩形,用于限制模糊效果仅在图像的指定矩形区域内生效。 78 79**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing 80 81**起始版本:** 20 82 83**参数:** 84 85| 参数项 | 描述 | 86| -- | -- | 87| float sigmaX | 表示沿x轴方向上高斯模糊的标准差,必须大于0.0。 | 88| float sigmaY | 表示沿y轴方向上高斯模糊的标准差,必须大于0.0。 | 89| [OH_Drawing_TileMode](capi-drawing-shader-effect-h.md#oh_drawing_tilemode) tileMode | 图像滤波器效果平铺模式类型,支持可选的具体模式可见[OH_Drawing_TileMode](capi-drawing-shader-effect-h.md#oh_drawing_tilemode)枚举。 | 90| [OH_Drawing_ImageFilter](capi-drawing-oh-drawing-imagefilter.md)* input | 表示将要和当前图像滤波器叠加的输入滤波器, 如果为NULL,表示直接将当前图像滤波器作用于原始图像。 | 91| [const OH_Drawing_Rect](capi-drawing-oh-drawing-rect.md)* rect | 表示裁剪的矩形区域,如果为NULL,表示直接将模糊效果作用于整个图像。 | 92 93**返回:** 94 95| 类型 | 说明 | 96| -- | -- | 97| OH_Drawing_ImageFilter* | 函数会返回一个指针,指针指向创建的图像滤波器对象[OH_Drawing_ImageFilter](capi-drawing-oh-drawing-imagefilter.md)。如果对象返回NULL,表示创建失败;可能的原因是可用内存为空。 | 98 99### OH_Drawing_ImageFilterCreateFromColorFilter() 100 101``` 102OH_Drawing_ImageFilter* OH_Drawing_ImageFilterCreateFromColorFilter(OH_Drawing_ColorFilter* colorFilter,OH_Drawing_ImageFilter* imageFilter) 103``` 104 105**描述** 106 107创建具有颜色变换效果的图像滤波器。本接口会产生错误码,可以通过[OH_Drawing_ErrorCodeGet](capi-drawing-error-code-h.md#oh_drawing_errorcodeget)查看错误码的取值。colorFilter为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。 108 109**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing 110 111**起始版本:** 12 112 113**参数:** 114 115| 参数项 | 描述 | 116| -- | -- | 117| [OH_Drawing_ColorFilter](capi-drawing-oh-drawing-colorfilter.md)* colorFilter | 指向具有颜色变换效果的颜色滤波器对象[OH_Drawing_ColorFilter](capi-drawing-oh-drawing-colorfilter.md)。 | 118| [OH_Drawing_ImageFilter](capi-drawing-oh-drawing-imagefilter.md)* imageFilter | 表示将要和当前图像滤波器叠加的输入滤波器, 如果为NULL,表示直接将当前图像滤波器作用于原始图像。 | 119 120**返回:** 121 122| 类型 | 说明 | 123| -- | -- | 124| [OH_Drawing_ImageFilter](capi-drawing-oh-drawing-imagefilter.md)* | 函数会返回一个指针,指针指向创建的图像滤波器对象[OH_Drawing_ImageFilter](capi-drawing-oh-drawing-imagefilter.md)。如果对象返回NULL,表示创建失败;可能的原因是可用内存为空,或者是colorFilter为NULL。 | 125 126### OH_Drawing_ImageFilterCreateOffset() 127 128``` 129OH_Drawing_ImageFilter* OH_Drawing_ImageFilterCreateOffset(float x, float y, OH_Drawing_ImageFilter* imageFilter) 130``` 131 132**描述** 133 134创建一个偏移滤波器,将输入的滤波器按照指定向量进行平移。 135 136**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing 137 138**起始版本:** 20 139 140 141**参数:** 142 143| 参数项 | 描述 | 144| -- | -- | 145| float x | 水平方向的平移距离。 | 146| float y | 竖直方向的平移距离。 | 147| [OH_Drawing_ImageFilter](capi-drawing-oh-drawing-imagefilter.md)* imageFilter | 需进行平移的滤波器,如果为空,则将无滤波效果的绘制结果进行平移。 | 148 149**返回:** 150 151| 类型 | 说明 | 152| -- | -- | 153| [OH_Drawing_ImageFilter](capi-drawing-oh-drawing-imagefilter.md)* | 函数会返回一个指针,指针指向创建的图像滤波器对象[OH_Drawing_ImageFilter](capi-drawing-oh-drawing-imagefilter.md)。如果对象返回NULL,表示创建失败,可能原因为可用内存为空。 | 154 155### OH_Drawing_ImageFilterCreateFromShaderEffect() 156 157``` 158OH_Drawing_ImageFilter* OH_Drawing_ImageFilterCreateFromShaderEffect(OH_Drawing_ShaderEffect* shaderEffect) 159``` 160 161**描述** 162 163基于着色器创建一个图像滤波器。 164 165**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing 166 167**起始版本:** 20 168 169 170**参数:** 171 172| 参数项 | 描述 | 173| -- | -- | 174| [OH_Drawing_ShaderEffect](capi-drawing-oh-drawing-shadereffect.md)* shaderEffect | 表示要应用于图像的着色器效果。 | 175 176**返回:** 177 178| 类型 | 说明 | 179| -- | -- | 180| [OH_Drawing_ImageFilter](capi-drawing-oh-drawing-imagefilter.md)* | 函数会返回一个指针,指针指向创建的图像滤波器对象[OH_Drawing_ImageFilter](capi-drawing-oh-drawing-imagefilter.md)。如果结果返回NULL,表示创建失败,可能原因为可用内存为空。 | 181 182### OH_Drawing_ImageFilterDestroy() 183 184``` 185void OH_Drawing_ImageFilterDestroy(OH_Drawing_ImageFilter* imageFilter) 186``` 187 188**描述** 189 190销毁图像滤波器对象并回收该对象占有内存。 191 192**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing 193 194**起始版本:** 12 195 196 197**参数:** 198 199| 参数项 | 描述 | 200| -- | -- | 201| [OH_Drawing_ImageFilter](capi-drawing-oh-drawing-imagefilter.md)* imageFilter | 指向图像滤波器对象[OH_Drawing_ImageFilter](capi-drawing-oh-drawing-imagefilter.md)的指针。 | 202 203 204