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