• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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