1# Polyline
2
3折线绘制组件。
4
5>  **说明:**
6>
7>  该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
8
9
10## 子组件
11
1213
14
15## 接口
16
17Polyline(options?: PolylineOptions)
18
19**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。
20
21**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
22
23**参数:**
24
25| 参数名 | 类型 | 必填 | 说明 |
26| -------- | -------- | -------- | -------- |
27| options | [PolylineOptions](ts-drawing-components-polyline.md#polylineoptions14对象说明) | 否 | Polyline绘制区域。|
28
29## PolylineOptions<sup>14+</sup>对象说明
30用于描述Polyline绘制区域。
31
32**卡片能力:** 从API version 14开始,该接口支持在ArkTS卡片中使用。
33
34**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。
35
36**系统能力:** SystemCapability.ArkUI.ArkUI.Full
37
38| 名称 | 类型 | 必填 | 说明 |
39| -------- | -------- | -------- | -------- |
40| width | string \| number | 否 | 宽度。<br/>默认值:0<br/>默认单位:vp<br/>异常值按照默认值处理。 |
41| height | string \| number | 否 | 高度。<br/>默认值:0<br/>默认单位:vp<br/>异常值按照默认值处理。 |
42
43## 属性
44
45除支持[通用属性](ts-universal-attributes-size.md)外,还支持以下属性:
46
47### points
48
49points(value: Array&lt;any&gt;)
50
51设置折线经过坐标点列表。异常值按照默认值处理。
52
53**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。
54
55**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
56
57**系统能力:** SystemCapability.ArkUI.ArkUI.Full
58
59**参数:**
60
61| 参数名 | 类型                                                         | 必填 | 说明                                |
62| ------ | ------------------------------------------------------------ | ---- | ----------------------------------- |
63| value  | Array&lt;[Point](ts-drawing-components-polyline.md#point)&gt; | 是   | 折线经过坐标点列表。<br/>默认值:[]<br/>默认单位:vp |
64
65### fill
66
67fill(value: ResourceColor)
68
69设置填充区域的颜色,异常值按照默认值处理。与通用属性foregroundColor同时设置时,后设置的属性生效。
70
71**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。
72
73**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
74
75**系统能力:** SystemCapability.ArkUI.ArkUI.Full
76
77**参数:**
78
79| 参数名 | 类型                                       | 必填 | 说明                                   |
80| ------ | ------------------------------------------ | ---- | -------------------------------------- |
81| value  | [ResourceColor](ts-types.md#resourcecolor) | 是   | 填充区域颜色。<br/>默认值:Color.Black |
82
83### fillOpacity
84
85fillOpacity(value: number | string | Resource)
86
87设置填充区域透明度。取值范围是[0.0, 1.0],若给定值小于0.0,则取值为0.0;若给定值大于1.0,则取值为1.0,其余异常值按1.0处理。
88
89**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。
90
91**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
92
93**系统能力:** SystemCapability.ArkUI.ArkUI.Full
94
95**参数:**
96
97| 参数名 | 类型                                                         | 必填 | 说明                           |
98| ------ | ------------------------------------------------------------ | ---- | ------------------------------ |
99| value  | number&nbsp;\|&nbsp;string&nbsp;\|&nbsp;[Resource](ts-types.md#resource) | 是   | 填充区域透明度。<br/>默认值:1 |
100
101### stroke
102
103stroke(value: ResourceColor)
104
105设置边框颜色,不设置时,默认没有边框线条。异常值不会绘制边框线条。
106
107**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。
108
109**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
110
111**系统能力:** SystemCapability.ArkUI.ArkUI.Full
112
113**参数:**
114
115| 参数名 | 类型                                       | 必填 | 说明       |
116| ------ | ------------------------------------------ | ---- | ---------- |
117| value  | [ResourceColor](ts-types.md#resourcecolor) | 是   | 边框颜色。 |
118
119### strokeDashArray
120
121strokeDashArray(value: Array&lt;any&gt;)
122
123设置线条间隙。线段相交时可能会出现重叠现象。异常值按照默认值处理。
124
125**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。
126
127**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
128
129**系统能力:** SystemCapability.ArkUI.ArkUI.Full
130
131**参数:**
132
133| 参数名 | 类型             | 必填 | 说明                      |
134| ------ | ---------------- | ---- | ------------------------- |
135| value  | Array&lt;any&gt; | 是   | 线条间隙。<br/>默认值:[]<br/>默认单位:vp |
136
137### strokeDashOffset
138
139strokeDashOffset(value: number | string)
140
141设置线条绘制起点的偏移量。异常值按照默认值处理。
142
143**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。
144
145**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
146
147**系统能力:** SystemCapability.ArkUI.ArkUI.Full
148
149**参数:**
150
151| 参数名 | 类型                       | 必填 | 说明                                 |
152| ------ | -------------------------- | ---- | ------------------------------------ |
153| value  | number&nbsp;\|&nbsp;string | 是   | 线条绘制起点的偏移量。<br/>默认值:0<br/>默认单位:vp |
154
155### strokeLineCap
156
157strokeLineCap(value: LineCapStyle)
158
159设置线条端点绘制样式。
160
161**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。
162
163**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
164
165**系统能力:** SystemCapability.ArkUI.ArkUI.Full
166
167**参数:**
168
169| 参数名 | 类型                                              | 必填 | 说明                                             |
170| ------ | ------------------------------------------------- | ---- | ------------------------------------------------ |
171| value  | [LineCapStyle](ts-appendix-enums.md#linecapstyle) | 是   | 线条端点绘制样式。<br/>默认值:LineCapStyle.Butt |
172
173### strokeLineJoin
174
175strokeLineJoin(value: LineJoinStyle)
176
177设置线条拐角绘制样式。
178
179**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。
180
181**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
182
183**系统能力:** SystemCapability.ArkUI.ArkUI.Full
184
185**参数:**
186
187| 参数名 | 类型                                                | 必填 | 说明                                               |
188| ------ | --------------------------------------------------- | ---- | -------------------------------------------------- |
189| value  | [LineJoinStyle](ts-appendix-enums.md#linejoinstyle) | 是   | 线条拐角绘制样式。<br/>默认值:LineJoinStyle.Miter |
190
191### strokeMiterLimit
192
193strokeMiterLimit(value: number | string)
194
195设置斜接长度与边框宽度比值的极限值。斜接长度表示外边框外边交点到内边交点的距离,边框宽度即strokeWidth属性的值。该属性取值需在strokeLineJoin属性取值LineJoinStyle.Miter时生效。
196
197该属性的合法值范围应当大于等于1.0,当取值范围在[0,1)时按1.0处理,其余异常值按默认值处理。
198
199**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。
200
201**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
202
203**系统能力:** SystemCapability.ArkUI.ArkUI.Full
204
205**参数:**
206
207| 参数名 | 类型                       | 必填 | 说明                                           |
208| ------ | -------------------------- | ---- | ---------------------------------------------- |
209| value  | number&nbsp;\|&nbsp;string | 是   | 斜接长度与边框宽度比值的极限值。<br/>默认值:4 |
210
211### strokeOpacity
212
213strokeOpacity(value: number | string | Resource)
214
215设置线条透明度。该属性的取值范围是[0.0, 1.0],若给定值小于0.0,则取值为0.0;若给定值大于1.0,则取值为1.0,其余异常值按1.0处理 。
216
217**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。
218
219**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
220
221**系统能力:** SystemCapability.ArkUI.ArkUI.Full
222
223**参数:**
224
225| 参数名 | 类型                                                         | 必填 | 说明                       |
226| ------ | ------------------------------------------------------------ | ---- | -------------------------- |
227| value  | number&nbsp;\|&nbsp;string&nbsp;\|&nbsp;[Resource](ts-types.md#resource) | 是   | 线条透明度。<br/>默认值:1 |
228
229### strokeWidth
230
231strokeWidth(value: Length)
232
233设置线条宽度。该属性若为string类型, 暂不支持百分比,百分比按照1px处理。
234
235**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。
236
237**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
238
239**系统能力:** SystemCapability.ArkUI.ArkUI.Full
240
241**参数:**
242
243| 参数名 | 类型                         | 必填 | 说明                     |
244| ------ | ---------------------------- | ---- | ------------------------ |
245| value  | [Length](ts-types.md#length) | 是   | 线条宽度。<br/>默认值:1<br/>默认单位:vp |
246
247### antiAlias
248
249antiAlias(value: boolean)
250
251设置是否开启抗锯齿效果。
252
253**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。
254
255**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
256
257**系统能力:** SystemCapability.ArkUI.ArkUI.Full
258
259**参数:**
260
261| 参数名 | 类型    | 必填 | 说明                                  |
262| ------ | ------- | ---- | ------------------------------------- |
263| value  | boolean | 是   | 是否开启抗锯齿效果。<br/>默认值:true |
264
265## Point
266
267点坐标类型。
268
269**卡片能力:** 从API version 9开始,该接口支持在ArkTS卡片中使用。
270
271| 名称      | 类型定义             | 描述                                                         |
272| --------- | -------------------- | ------------------------------------------------------------ |
273| Point | [number,&nbsp;number] | 第一个参数为x轴坐标,第二个参数为y轴坐标(相对坐标)。 |
274
275## 示例
276
277使用points、fillOpacity、stroke、strokeLineJoin、strokeLineCap属性分别绘制折线的经过坐标、透明度、边框颜色、拐角样式、端点样式。
278
279```ts
280// xxx.ets
281@Entry
282@Component
283struct PolylineExample {
284  build() {
285    Column({ space: 10 }) {
286      // 在 100 * 100 的矩形框中绘制一段折线,起点(0, 0),经过(20,60),到达终点(100, 100)
287      Polyline({ width: 100, height: 100 })
288        .points([[0, 0], [20, 60], [100, 100]])
289        .fillOpacity(0)
290        .stroke(Color.Blue)
291        .strokeWidth(3)
292      // 在 100 * 100 的矩形框中绘制一段折线,起点(20, 0),经过(0,100),到达终点(100, 90)
293      Polyline()
294        .width(100)
295        .height(100)
296        .fillOpacity(0)
297        .stroke(Color.Red)
298        .strokeWidth(8)
299        .points([[20, 0], [0, 100], [100, 90]])
300          // 设置折线拐角处为圆弧
301        .strokeLineJoin(LineJoinStyle.Round)
302          // 设置折线两端为半圆
303        .strokeLineCap(LineCapStyle.Round)
304    }.width('100%')
305  }
306}
307```
308
309![zh-cn_image_0000001219744185](figures/zh-cn_image_0000001219744185.png)
310