• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# drawing_path_effect.h
2
3## 概述
4
5文件中定义了与路径效果相关的功能函数。
6
7**引用文件:** <native_drawing/drawing_path_effect.h>
8
9**库:** libnative_drawing.so
10
11**起始版本:** 12
12
13**相关模块:** [Drawing](capi-drawing.md)
14
15## 汇总
16
17### 枚举
18
19| 名称 | typedef关键字 | 描述 |
20| -- | -- | -- |
21| [OH_Drawing_PathDashStyle](#oh_drawing_pathdashstyle) | OH_Drawing_PathDashStyle | 路径效果的绘制样式枚举。 |
22
23### 函数
24
25| 名称 | 描述 |
26| -- | -- |
27| [OH_Drawing_PathEffect* OH_Drawing_CreateComposePathEffect(OH_Drawing_PathEffect* outer, OH_Drawing_PathEffect* inner)](#oh_drawing_createcomposepatheffect) | 创建路径组合的路径效果对象。首先应用内部路径效果,然后应用外部路径效果。 |
28| [OH_Drawing_PathEffect* OH_Drawing_CreateCornerPathEffect(float radius)](#oh_drawing_createcornerpatheffect) | 创建一个将路径的夹角变成指定半径的圆角的路径效果对象。 |
29| [OH_Drawing_PathEffect* OH_Drawing_CreateDashPathEffect(float* intervals, int count, float phase)](#oh_drawing_createdashpatheffect) | 创建一个虚线效果的路径效果对象。虚线效果由一组虚线开的间隔、虚线关的间隔数据决定。<br>本接口会产生错误码,可以通过[OH_Drawing_ErrorCodeGet](capi-drawing-error-code-h.md#oh_drawing_errorcodeget)查看错误码的取值。<br>intervals为NULL或者count小于等于0时返回OH_DRAWING_ERROR_INVALID_PARAMETER。 |
30| [OH_Drawing_PathEffect* OH_Drawing_CreateDiscretePathEffect(float segLength, float deviation)](#oh_drawing_creatediscretepatheffect) | 创建一种将路径打散并且在路径上产生不规则分布的路径效果对象。 |
31| [OH_Drawing_PathEffect* OH_Drawing_CreatePathDashEffect(const OH_Drawing_Path* path, float advance, float phase,OH_Drawing_PathDashStyle type)](#oh_drawing_createpathdasheffect) | 创建一个虚线效果的路径效果对象。 |
32| [OH_Drawing_PathEffect* OH_Drawing_CreateSumPathEffect(OH_Drawing_PathEffect* firstPathEffect,OH_Drawing_PathEffect* secondPathEffect)](#oh_drawing_createsumpatheffect) | 创建一个使用两种路径效果分别生效后叠加的路径效果对象。 |
33| [void OH_Drawing_PathEffectDestroy(OH_Drawing_PathEffect* pathEffect)](#oh_drawing_patheffectdestroy) | 销毁路径效果对象并回收该对象占有内存。 |
34
35## 枚举类型说明
36
37### OH_Drawing_PathDashStyle
38
39```
40enum OH_Drawing_PathDashStyle
41```
42
43**描述**
44
45路径效果的绘制样式枚举。
46
47**起始版本:** 18
48
49| 枚举项 | 描述 |
50| -- | -- |
51| DRAWING_PATH_DASH_STYLE_TRANSLATE | 表示路径效果是平移效果。 |
52| DRAWING_PATH_DASH_STYLE_ROTATE | 表示路径效果是旋转效果。 |
53| DRAWING_PATH_DASH_STYLE_MORPH | 表示路径效果是变形效果。 |
54
55
56## 函数说明
57
58### OH_Drawing_CreateComposePathEffect()
59
60```
61OH_Drawing_PathEffect* OH_Drawing_CreateComposePathEffect(OH_Drawing_PathEffect* outer, OH_Drawing_PathEffect* inner)
62```
63
64**描述**
65
66创建路径组合的路径效果对象。首先应用内部路径效果,然后应用外部路径效果。
67
68**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
69
70**起始版本:** 18
71
72
73**参数:**
74
75| 参数项 | 描述 |
76| -- | -- |
77| [OH_Drawing_PathEffect](capi-drawing-oh-drawing-patheffect.md)* outer | 表示组合路径效果中外部路径效果[OH_Drawing_PathEffect](capi-drawing-oh-drawing-patheffect.md)的指针。 |
78| [OH_Drawing_PathEffect](capi-drawing-oh-drawing-patheffect.md)* inner | 表示组合路径效果中内部路径效果[OH_Drawing_PathEffect](capi-drawing-oh-drawing-patheffect.md)的指针。 |
79
80**返回:**
81
82| 类型 | 说明 |
83| -- | -- |
84| [OH_Drawing_PathEffect](capi-drawing-oh-drawing-patheffect.md)* | 函数返回一个指针,指针指向创建的路径效果对象[OH_Drawing_PathEffect](capi-drawing-oh-drawing-patheffect.md)。<br> 如果返回nullptr,则创建失败,失败的原因可能是outer或者inner为nullptr。 |
85
86### OH_Drawing_CreateCornerPathEffect()
87
88```
89OH_Drawing_PathEffect* OH_Drawing_CreateCornerPathEffect(float radius)
90```
91
92**描述**
93
94创建一个将路径的夹角变成指定半径的圆角的路径效果对象。
95
96**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
97
98**起始版本:** 18
99
100
101**参数:**
102
103| 参数项 | 描述 |
104| -- | -- |
105| float radius | 表示圆角的半径,该值必须大于0时才生效。 |
106
107**返回:**
108
109| 类型 | 说明 |
110| -- | -- |
111| [OH_Drawing_PathEffect](capi-drawing-oh-drawing-patheffect.md)* | 函数返回一个指针,指针指向创建的路径效果对象[OH_Drawing_PathEffect](capi-drawing-oh-drawing-patheffect.md)。<br> 如果返回nullptr,则创建失败,失败的可能原因是radius小于等于0。 |
112
113### OH_Drawing_CreateDashPathEffect()
114
115```
116OH_Drawing_PathEffect* OH_Drawing_CreateDashPathEffect(float* intervals, int count, float phase)
117```
118
119**描述**
120
121创建一个虚线效果的路径效果对象。虚线效果由一组虚线开的间隔、虚线关的间隔数据决定。<br>本接口会产生错误码,可以通过[OH_Drawing_ErrorCodeGet](capi-drawing-error-code-h.md#oh_drawing_errorcodeget)查看错误码的取值。<br>intervals为NULL或者count小于等于0时返回OH_DRAWING_ERROR_INVALID_PARAMETER。
122
123**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
124
125**起始版本:** 12
126
127
128**参数:**
129
130| 参数项 | 描述 |
131| -- | -- |
132| float* intervals | 虚线间隔数组首地址,偶数项的值表示虚线开的间隔长度,奇数项的值表示虚线关的间隔长度,单位为像素。 |
133| int count | 虚线间隔数组元素的个数,必须为大于0的偶数。 |
134| float phase | 虚线间隔数组中偏移量。 |
135
136**返回:**
137
138| 类型 | 说明 |
139| -- | -- |
140| [OH_Drawing_PathEffect](capi-drawing-oh-drawing-patheffect.md)* | 函数返回一个指针,指针指向创建的路径效果对象[OH_Drawing_PathEffect](capi-drawing-oh-drawing-patheffect.md)。 |
141
142### OH_Drawing_CreateDiscretePathEffect()
143
144```
145OH_Drawing_PathEffect* OH_Drawing_CreateDiscretePathEffect(float segLength, float deviation)
146```
147
148**描述**
149
150创建一种将路径打散并且在路径上产生不规则分布的路径效果对象。
151
152**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
153
154**起始版本:** 18
155
156
157**参数:**
158
159| 参数项 | 描述 |
160| -- | -- |
161| float segLength | 表示路径中每进行一次打散操作的长度,该值大于0时有效果。 |
162| float deviation | 表示绘制时的末端点的最大移动偏离量。 |
163
164**返回:**
165
166| 类型 | 说明 |
167| -- | -- |
168| [OH_Drawing_PathEffect](capi-drawing-oh-drawing-patheffect.md)* | 函数返回一个指针,指针指向创建的路径效果对象[OH_Drawing_PathEffect](capi-drawing-oh-drawing-patheffect.md)。 |
169
170### OH_Drawing_CreatePathDashEffect()
171
172```
173OH_Drawing_PathEffect* OH_Drawing_CreatePathDashEffect(const OH_Drawing_Path* path, float advance, float phase,OH_Drawing_PathDashStyle type)
174```
175
176**描述**
177
178创建一个虚线效果的路径效果对象。
179
180**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
181
182**起始版本:** 18
183
184
185**参数:**
186
187| 参数项 | 描述 |
188| -- | -- |
189| const [OH_Drawing_Path](capi-drawing-oh-drawing-path.md)* path | 表示虚线样式的路径对象[OH_Drawing_Path](capi-drawing-oh-drawing-path.md)的指针。 |
190| float advance | 表示虚线段的步长。 |
191| float phase | 表示虚线段内图形在虚线步长范围内的偏移量。 |
192| [OH_Drawing_PathDashStyle](#oh_drawing_pathdashstyle) type | 表示虚线路径效果样式。 |
193
194**返回:**
195
196| 类型 | 说明 |
197| -- | -- |
198| [OH_Drawing_PathEffect](capi-drawing-oh-drawing-patheffect.md)* | 函数返回一个指针,指针指向创建的路径效果对象[OH_Drawing_PathEffect](capi-drawing-oh-drawing-patheffect.md)。<br> 如果返回nullptr,则创建失败,失败的可能原因是path为nullptr或者advance小于等于0。 |
199
200### OH_Drawing_CreateSumPathEffect()
201
202```
203OH_Drawing_PathEffect* OH_Drawing_CreateSumPathEffect(OH_Drawing_PathEffect* firstPathEffect,OH_Drawing_PathEffect* secondPathEffect)
204```
205
206**描述**
207
208创建一个使用两种路径效果分别生效后叠加的路径效果对象。
209
210**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
211
212**起始版本:** 18
213
214
215**参数:**
216
217| 参数项 | 描述 |
218| -- | -- |
219| [OH_Drawing_PathEffect](capi-drawing-oh-drawing-patheffect.md)* firstPathEffect | 指向路径对象[OH_Drawing_PathEffect](capi-drawing-oh-drawing-patheffect.md)的指针。 |
220| [OH_Drawing_PathEffect](capi-drawing-oh-drawing-patheffect.md)* secondPathEffect | 指向路径对象[OH_Drawing_PathEffect](capi-drawing-oh-drawing-patheffect.md)的指针。 |
221
222**返回:**
223
224| 类型 | 说明 |
225| -- | -- |
226| [OH_Drawing_PathEffect](capi-drawing-oh-drawing-patheffect.md)* | 函数返回一个指针,指针指向创建的路径效果对象[OH_Drawing_PathEffect](capi-drawing-oh-drawing-patheffect.md)。<br> 如果返回nullptr,则创建失败,失败的可能原因是firstPathEffect或者secondPathEffect为nullptr。 |
227
228### OH_Drawing_PathEffectDestroy()
229
230```
231void OH_Drawing_PathEffectDestroy(OH_Drawing_PathEffect* pathEffect)
232```
233
234**描述**
235
236销毁路径效果对象并回收该对象占有内存。
237
238**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
239
240**起始版本:** 12
241
242
243**参数:**
244
245| 参数项 | 描述 |
246| -- | -- |
247| [OH_Drawing_PathEffect](capi-drawing-oh-drawing-patheffect.md)* pathEffect | 指向路径效果对象[OH_Drawing_PathEffect](capi-drawing-oh-drawing-patheffect.md)的指针。 |
248
249
250