OpenHarmony应用开发-绘制组件Line/Polyline/Polygon

素年锦时静待君丶
发布于 2023-4-17 18:33
浏览
0收藏

版本:v3.2 Release

Line

直线绘制组件。

说明:

该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

子组件

接口

Line(value?: {width?: string | number, height?: string | number})

从API version 9开始,该接口支持在ArkTS卡片中使用。

参数:

参数名

参数类型

必填

默认值

参数描述

width

string | number

0

宽度。

height

string | number

0

高度。

属性

除支持​​通用属性​​外,还支持以下属性:

名称

类型

默认值

描述

startPoint

Array<Length>

[0, 0]

直线起点坐标点(相对坐标),单位vp。

从API version 9开始,该接口支持在ArkTS卡片中使用。

endPoint

Array<Length>

[0, 0]

直线终点坐标点(相对坐标),单位vp。

从API version 9开始,该接口支持在ArkTS卡片中使用。

fill

​ResourceColor​

Color.Black

设置填充区域颜色。

从API version 9开始,该接口支持在ArkTS卡片中使用。

说明:

Line组件无法形成闭合区域,该属性设置无效。

fillOpacity

number | string | ​​Resource​

1

设置填充区域透明度。

从API version 9开始,该接口支持在ArkTS卡片中使用。

说明:

Line组件无法形成闭合区域,该属性设置无效。

stroke

​ResourceColor​

-

设置边框颜色,不设置时,默认没有边框线条。

从API version 9开始,该接口支持在ArkTS卡片中使用。

strokeDashArray

Array<Length>

[]

设置线条间隙。

从API version 9开始,该接口支持在ArkTS卡片中使用。

strokeDashOffset

number | string

0

线条绘制起点的偏移量。

从API version 9开始,该接口支持在ArkTS卡片中使用。

strokeLineCap

​LineCapStyle​

LineCapStyle.Butt

设置线条端点绘制样式。

从API version 9开始,该接口支持在ArkTS卡片中使用。

strokeLineJoin

​LineJoinStyle​

LineJoinStyle.Miter

设置线条拐角绘制样式。

从API version 9开始,该接口支持在ArkTS卡片中使用。

说明:

Line组件无法形成拐角,该属性设置无效。

strokeMiterLimit

number | string

4

设置锐角绘制成斜角的极限值。

从API version 9开始,该接口支持在ArkTS卡片中使用。

说明:

Line组件无法设置锐角图形,该属性设置无效。

strokeOpacity

number | string | ​​Resource​

1

设置线条透明度。

从API version 9开始,该接口支持在ArkTS卡片中使用。

说明:

该属性的取值范围是[0.0, 1.0],若给定值小于0.0,则取值为0.0;若给定值大于1.0,则取值为1.0。

strokeWidth

Length

1

设置线条宽度。

从API version 9开始,该接口支持在ArkTS卡片中使用。

说明:

该属性若为string类型, 暂不支持百分比。

antiAlias

boolean

true

是否开启抗锯齿效果。

从API version 9开始,该接口支持在ArkTS卡片中使用。

示例

示例1

// xxx.ets
@Entry
@Component
struct LineExample {
  build() {
    Column({ space: 10 }) {
      // 线条绘制的起止点坐标均是相对于Line组件本身绘制区域的坐标
      Line()
        .width(200)
        .height(150)
        .startPoint([0, 0])
        .endPoint([50, 100])
        .stroke(Color.Black)
        .backgroundColor('#F5F5F5')
      Line()
        .width(200)
        .height(150)
        .startPoint([50, 50])
        .endPoint([150, 150])
        .strokeWidth(5)
        .stroke(Color.Orange)
        .strokeOpacity(0.5)
        .backgroundColor('#F5F5F5')
      // strokeDashOffset用于定义关联虚线strokeDashArray数组渲染时的偏移
      Line()
        .width(200)
        .height(150)
        .startPoint([0, 0])
        .endPoint([100, 100])
        .stroke(Color.Black)
        .strokeWidth(3)
        .strokeDashArray([10, 3])
        .strokeDashOffset(5)
        .backgroundColor('#F5F5F5')
      // 当坐标点设置的值超出Line组件的宽高范围时,线条会画出组件绘制区域
      Line()
        .width(50)
        .height(50)
        .startPoint([0, 0])
        .endPoint([100, 100])
        .stroke(Color.Black)
        .strokeWidth(3)
        .strokeDashArray([10, 3])
        .backgroundColor('#F5F5F5')
    }
  }
}

OpenHarmony应用开发-绘制组件Line/Polyline/Polygon-鸿蒙开发者社区

示例2

// xxx.ets
@Entry
@Component
struct LineExample1 {
  build() {
    Row({ space: 10 }) {
      // 当LineCapStyle值为Butt时
      Line()
        .width(100)
        .height(200)
        .startPoint([50, 50])
        .endPoint([50, 200])
        .stroke(Color.Black)
        .strokeWidth(20)
        .strokeLineCap(LineCapStyle.Butt)
        .backgroundColor('#F5F5F5').margin(10)
      // 当LineCapStyle值为Round时
      Line()
        .width(100)
        .height(200)
        .startPoint([50, 50])
        .endPoint([50, 200])
        .stroke(Color.Black)
        .strokeWidth(20)
        .strokeLineCap(LineCapStyle.Round)
        .backgroundColor('#F5F5F5')
      // 当LineCapStyle值为Square时
      Line()
        .width(100)
        .height(200)
        .startPoint([50, 50])
        .endPoint([50, 200])
        .stroke(Color.Black)
        .strokeWidth(20)
        .strokeLineCap(LineCapStyle.Square)
        .backgroundColor('#F5F5F5')
    }
  }
}

OpenHarmony应用开发-绘制组件Line/Polyline/Polygon-鸿蒙开发者社区

示例3

// xxx.ets
@Entry
@Component
struct LineExample {
  build() {
    Column() {
      Line()
        .width(300)
        .height(30)
        .startPoint([50, 30])
        .endPoint([300, 30])
        .stroke(Color.Black)
        .strokeWidth(10)
      // 设置strokeDashArray的数组间隔为 50
      Line()
        .width(300)
        .height(30)
        .startPoint([50, 20])
        .endPoint([300, 20])
        .stroke(Color.Black)
        .strokeWidth(10)
        .strokeDashArray([50])
      // 设置strokeDashArray的数组间隔为 50, 10
      Line()
        .width(300)
        .height(30)
        .startPoint([50, 20])
        .endPoint([300, 20])
        .stroke(Color.Black)
        .strokeWidth(10)
        .strokeDashArray([50, 10])
      // 设置strokeDashArray的数组间隔为 50, 10, 20
      Line()
        .width(300)
        .height(30)
        .startPoint([50, 20])
        .endPoint([300, 20])
        .stroke(Color.Black)
        .strokeWidth(10)
        .strokeDashArray([50, 10, 20])
      // 设置strokeDashArray的数组间隔为 50, 10, 20, 30
      Line()
        .width(300)
        .height(30)
        .startPoint([50, 20])
        .endPoint([300, 20])
        .stroke(Color.Black)
        .strokeWidth(10)
        .strokeDashArray([50, 10, 20, 30])

    }
  }
}

OpenHarmony应用开发-绘制组件Line/Polyline/Polygon-鸿蒙开发者社区

Polyline

折线绘制组件。

说明:

该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

子组件

接口

Polyline(value?: {width?: string | number, height?: string | number})

从API version 9开始,该接口支持在ArkTS卡片中使用。

参数:

参数名

参数类型

必填

默认值

参数描述

width

string | number

0

宽度。

height

string | number

0

高度。

属性

除支持​​通用属性​​外,还支持以下属性:

名称

类型

默认值

描述

points

Array<Point>

[]

折线经过坐标点列表。

从API version 9开始,该接口支持在ArkTS卡片中使用。

fill

​ResourceColor​

Color.Black

设置填充区域颜色。

从API version 9开始,该接口支持在ArkTS卡片中使用。

fillOpacity

number | string | ​​Resource​

1

设置填充区域透明度。

从API version 9开始,该接口支持在ArkTS卡片中使用。

stroke

​ResourceColor​

-

设置边框颜色,不设置时,默认没有边框线条。

从API version 9开始,该接口支持在ArkTS卡片中使用。

strokeDashArray

Array<Length>

[]

设置线条间隙。

从API version 9开始,该接口支持在ArkTS卡片中使用。

strokeDashOffset

number | string

0

线条绘制起点的偏移量。

从API version 9开始,该接口支持在ArkTS卡片中使用。

strokeLineCap

​LineCapStyle​

LineCapStyle.Butt

设置线条端点绘制样式。

从API version 9开始,该接口支持在ArkTS卡片中使用。

strokeLineJoin

​LineJoinStyle​

LineJoinStyle.Miter

设置线条拐角绘制样式。

从API version 9开始,该接口支持在ArkTS卡片中使用。

strokeMiterLimit

number | string

4

设置斜接长度与边框宽度比值的极限值。斜接长度表示外边框外边交点到内边交点的距离,边框宽度即strokeWidth属性的值。

说明:

该属性取值需大于等于1,且在strokeLineJoin属性取值LineJoinStyle.Miter时生效。

从API version 9开始,该接口支持在ArkTS卡片中使用。

strokeOpacity

number | string | ​​Resource​

1

设置线条透明度。

说明:

该属性的取值范围是[0.0, 1.0],若给定值小于0.0,则取值为0.0;若给定值大于1.0,则取值为1.0。

从API version 9开始,该接口支持在ArkTS卡片中使用。

strokeWidth

Length

1

设置线条宽度。

从API version 9开始,该接口支持在ArkTS卡片中使用。

说明:

该属性若为string类型, 暂不支持百分比。

antiAlias

boolean

true

是否开启抗锯齿效果。

从API version 9开始,该接口支持在ArkTS卡片中使用。

Point

点坐标类型。

从API version 9开始,该接口支持在ArkTS卡片中使用。

名称

类型定义

描述

Point

[number, number]

第一个参数为x轴坐标,第二个参数为y轴坐标(相对坐标)。

示例

// xxx.ets
@Entry
@Component
struct PolylineExample {
  build() {
    Column({ space: 10 }) {
      // 在 100 * 100 的矩形框中绘制一段折线,起点(0, 0),经过(20,60),到达终点(100, 100)
      Polyline({ width: 100, height: 100 })
        .points([[0, 0], [20, 60], [100, 100]])
        .fillOpacity(0)
        .stroke(Color.Blue)
        .strokeWidth(3)
      // 在 100 * 100 的矩形框中绘制一段折线,起点(20, 0),经过(0,100),到达终点(100, 90)
      Polyline()
        .width(100)
        .height(100)
        .fillOpacity(0)
        .stroke(Color.Red)
        .strokeWidth(8)
        .points([[20, 0], [0, 100], [100, 90]])
          // 设置折线拐角处为圆弧
        .strokeLineJoin(LineJoinStyle.Round)
          // 设置折线两端为半圆
        .strokeLineCap(LineCapStyle.Round)
    }.width('100%')
  }
}

OpenHarmony应用开发-绘制组件Line/Polyline/Polygon-鸿蒙开发者社区

Polygon

多边形绘制组件。

说明:

该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

子组件

接口

Polygon(value?: {width?: string | number, height?: string | number})

从API version 9开始,该接口支持在ArkTS卡片中使用。

参数:

参数名

参数类型

必填

默认值

参数描述

width

string | number

0

宽度。

height

string | number

0

高度。

属性

除支持​​通用属性​​外,还支持以下属性:

名称

类型

默认值

描述

points

Array<Point>

[]

多边形的顶点坐标列表。

从API version 9开始,该接口支持在ArkTS卡片中使用。

fill

​ResourceColor​

Color.Black

设置填充区域颜色。

从API version 9开始,该接口支持在ArkTS卡片中使用。

fillOpacity

number | string | ​​Resource​

1

设置填充区域透明度。

从API version 9开始,该接口支持在ArkTS卡片中使用。

stroke

​ResourceColor​

-

设置边框颜色,不设置时,默认没有边框线条。

从API version 9开始,该接口支持在ArkTS卡片中使用。

strokeDashArray

Array<Length>

[]

设置边框间隙。

从API version 9开始,该接口支持在ArkTS卡片中使用。

strokeDashOffset

number | string

0

边框绘制起点的偏移量。

从API version 9开始,该接口支持在ArkTS卡片中使用。

strokeLineCap

​LineCapStyle​

LineCapStyle.Butt

设置边框端点绘制样式。

从API version 9开始,该接口支持在ArkTS卡片中使用。

strokeLineJoin

​LineJoinStyle​

LineJoinStyle.Miter

设置边框拐角绘制样式。

从API version 9开始,该接口支持在ArkTS卡片中使用。

strokeMiterLimit

number | string

4

设置斜接长度与边框宽度比值的极限值。斜接长度表示外边框外边交点到内边交点的距离,边框宽度即strokeWidth属性的值。

说明:

该属性取值需大于等于1,且在strokeLineJoin属性取值LineJoinStyle.Miter时生效。

从API version 9开始,该接口支持在ArkTS卡片中使用。

strokeOpacity

number | string | ​​Resource​

1

设置边框透明度。

说明:

该属性的取值范围是[0.0, 1.0],若给定值小于0.0,则取值为0.0;若给定值大于1.0,则取值为1.0。

从API version 9开始,该接口支持在ArkTS卡片中使用。

strokeWidth

Length

1

设置边框宽度。

从API version 9开始,该接口支持在ArkTS卡片中使用。

说明:

该属性若为string类型, 暂不支持百分比。

antiAlias

boolean

true

是否开启抗锯齿效果。

从API version 9开始,该接口支持在ArkTS卡片中使用。

Point

点坐标类型。

从API version 9开始,该接口支持在ArkTS卡片中使用。

名称

类型定义

描述

Point

[number, number]

第一个参数为x轴坐标,第二个参数为y轴坐标(相对坐标)。

示例

// xxx.ets
@Entry
@Component
struct PolygonExample {
  build() {
    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 })
  }
}

OpenHarmony应用开发-绘制组件Line/Polyline/Polygon-鸿蒙开发者社区




文章转载自:​​https://docs.openharmony.cn/pages/v3.2/zh-cn/application-dev/reference/arkui-ts/ts-drawing-components-polygon.md/​

已于2023-4-17 18:33:39修改
收藏
回复
举报
回复
    相关推荐