ts-drawing-components-polygon.md 3.3 KB
Newer Older
Z
zengyawen 已提交
1 2
# Polygon

Z
zengyawen 已提交
3 4
多边形绘制组件。

T
third  
tianyu 已提交
5 6 7
>  **说明:**
>
>  该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
Z
zengyawen 已提交
8

Z
zengyawen 已提交
9 10

## 子组件
Z
zengyawen 已提交
11 12 13



Z
zengyawen 已提交
14 15 16

## 接口

L
fix doc  
luoying_ace_admin 已提交
17
Polygon(value?: {width?: string | number, height?: string | number})
Z
zengyawen 已提交
18

19 20 21 22 23 24
**参数:**

| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | 
| -------- | -------- | -------- | -------- | -------- |
| width | string \| number | 否 | 0 | 宽度。 | 
| height | string \| number | 否 | 0 | 高度。 | 
Z
zengyawen 已提交
25 26 27 28


## 属性

L
luoying_ace_admin 已提交
29 30
除支持[通用属性](ts-universal-attributes-size.md)外,还支持以下属性:

Z
zengyawen 已提交
31 32
| 参数名称 | 参数类型 | 默认值 | 必填 | 参数描述 | 
| -------- | -------- | -------- | -------- | -------- |
L
luoying_ace_admin 已提交
33
| points | Array<Point> | [] | 否 | 多边形的顶点坐标列表。 |
H
HelloCrease 已提交
34 35 36
| fill | [ResourceColor](ts-types.md) | Color.Black | 否 | 设置填充区域颜色。 |
| fillOpacity | number \| string \| [Resource](ts-types.md#resource类型) | 1 | 否 | 设置填充区域透明度。 |
| stroke | [ResourceColor](ts-types.md) | Color.Black | 否 | 设置线条颜色。 |
L
luoying_ace_admin 已提交
37 38 39 40 41
| strokeDashArray | Array<Length> | [] | 否 | 设置线条间隙。 |
| strokeDashOffset | number \| string | 0 | 否 | 线条绘制起点的偏移量。 |
| strokeLineCap | [LineCapStyle](ts-appendix-enums.md#linecapstyle) | LineCapStyle.Butt | 否 | 设置线条端点绘制样式。 |
| strokeLineJoin | [LineJoinStyle](ts-appendix-enums.md#linejoinstyle) | LineJoinStyle.Miter | 否 | 设置线条拐角绘制样式。 |
| strokeMiterLimit | number \| string | 4 | 否 | 设置锐角绘制成斜角的极限值。 |
H
HelloCrease 已提交
42
| strokeOpacity | number \| string \| [Resource](ts-types.md#resource类型) | 1 | 否 | 设置线条透明度。 |
L
luoying_ace_admin 已提交
43 44 45 46 47 48 49 50 51 52
| strokeWidth | Length | 1 | 否 | 设置线条宽度。 |
| antiAlias | boolean | true | 否 | 是否开启抗锯齿效果。 |

## Point

点坐标类型。

| 名称      | 类型定义             | 描述                                                         |
| --------- | -------------------- | ------------------------------------------------------------ |
| Point | [number, number] | 第一个参数为x轴坐标,第二个参数为y轴坐标(相对坐标)。 |
Z
zengyawen 已提交
53 54 55


## 示例
Z
zengyawen 已提交
56

H
geshi  
HelloCrease 已提交
57 58
```ts
// xxx.ets
Z
zengyawen 已提交
59 60 61 62
@Entry
@Component
struct PolygonExample {
  build() {
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
    Column({ space: 10 }) {
      // 在 100 * 100 的矩形框中绘制一个三角形,起点(0, 0),经过(50, 100),终点(100, 0)
      Polygon({ width: 100, height: 100 })
        .points([[0, 0], [50, 100], [100, 0]])
        .fill(Color.Green)
      // 在 100 * 100 的矩形框中绘制一个四边形,起点(0, 0),经过(0, 100)和(100, 100),终点(100, 0)
      Polygon().width(100).height(100)
        .points([[0, 0], [0, 100], [100, 100], [100, 0]])
        .fillOpacity(0)
        .strokeWidth(5)
        .stroke(Color.Blue)
      // 在 100 * 100 的矩形框中绘制一个五边形,起点(50, 0),依次经过(0, 50)、(20, 100)和(80, 100),终点(100, 50)
      Polygon().width(100).height(100)
        .points([[50, 0], [0, 50], [20, 100], [80, 100], [100, 50]])
        .fill(Color.Red)
        .fillOpacity(0.6)
    }.width('100%').margin({ top: 10 })
Z
zengyawen 已提交
80 81 82 83
  }
}
```

Z
zengyawen 已提交
84
![zh-cn_image_0000001174582856](figures/zh-cn_image_0000001174582856.gif)