HarmonyOS API:绘制组件

joytrian
发布于 2023-3-24 18:18
浏览
0收藏

版本:v3.1 Beta

Polyline

更新时间: 2023-02-17 09:19


折线绘制组件。


说明

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

子组件

接口

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


参数:


参数名

参数类型

必填

默认值

参数描述

width

string | number

0

宽度。

height

string | number

0

高度。

属性

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


名称

类型

默认值

描述

points

Array<Point>

[]

折线经过坐标点列表。

fill

​ResourceColor​

Color.Black

设置填充区域颜色。

fillOpacity

number | string | ​​Resource​

1

设置填充区域透明度。

stroke

​ResourceColor​

-

设置线条颜色。

strokeDashArray

Array<Length>

[]

设置线条间隙。

strokeDashOffset

number | string

0

线条绘制起点的偏移量。

strokeLineCap

​LineCapStyle​

LineCapStyle.Butt

设置线条端点绘制样式。

strokeLineJoin

​LineJoinStyle​

LineJoinStyle.Miter

设置线条拐角绘制样式。

strokeMiterLimit

number | string

4

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

说明:

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

strokeOpacity

number | string | ​​Resource​

1

设置线条透明度。

说明:

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

strokeWidth

Length

1

设置线条宽度。

antiAlias

boolean

true

是否开启抗锯齿效果。

Point

点坐标类型。

名称

类型定义

描述

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%')
  }
}

HarmonyOS API:绘制组件-鸿蒙开发者社区

Polygon

更新时间: 2023-02-17 09:19


多边形绘制组件。


说明

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

子组件

接口

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


参数:


参数名

参数类型

必填

默认值

参数描述

width

string | number

0

宽度。

height

string | number

0

高度。

属性

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


名称

类型

默认值

描述

points

Array<Point>

[]

多边形的顶点坐标列表。

fill

​ResourceColor​

Color.Black

设置填充区域颜色。

fillOpacity

number | string | ​​Resource​

1

设置填充区域透明度。

stroke

​ResourceColor​

-

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

strokeDashArray

Array<Length>

[]

设置边框间隙。

strokeDashOffset

number | string

0

边框绘制起点的偏移量。

strokeLineCap

​LineCapStyle​

LineCapStyle.Butt

设置边框端点绘制样式。

strokeLineJoin

​LineJoinStyle​

LineJoinStyle.Miter

设置边框拐角绘制样式。

strokeMiterLimit

number | string

4

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

说明:

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

strokeOpacity

number | string | ​​Resource​

1

设置边框透明度。

说明:

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

strokeWidth

Length

1

设置边框宽度。

antiAlias

boolean

true

是否开启抗锯齿效果。

Point

点坐标类型。


名称

类型定义

描述

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)
        .stroke(Color.Transparent)
      // 在 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)
        .stroke(Color.Transparent)
    }.width('100%').margin({ top: 10 })
  }
}

HarmonyOS API:绘制组件-鸿蒙开发者社区

Rect

更新时间: 2023-02-17 09:19


矩形绘制组件。


说明

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

子组件

接口

Rect(value?: {width?: string | number,height?: string | number,radius?: string | number | Array<string | number>} |

{width?: string | number,height?: string | number,radiusWidth?: string | number,radiusHeight?: string | number})


参数:


参数名

参数类型

必填

默认值

参数描述

width

string | number

0

宽度。

height

string | number

0

高度。

radius

string | number | Array<string | number>

0

圆角半径,支持分别设置四个角的圆角度数。

radiusWidth

string | number

0

圆角宽度。

radiusHeight

string | number

0

圆角高度。

属性

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


名称

类型

默认值

描述

radiusWidth

string | number

0

圆角的宽度,仅设置宽时宽高一致。

radiusHeight

string | number

0

圆角的高度,仅设置高时宽高一致。

radius

string | number | Array<string | number>

0

圆角半径大小。

fill

​ResourceColor​

Color.Black

设置填充区域颜色。

fillOpacity

number | string | ​​Resource​

1

设置填充区域透明度。

stroke

​ResourceColor​

-

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

strokeDashArray

Array<Length>

[]

设置边框间隙。

strokeDashOffset

number | string

0

边框绘制起点的偏移量。

strokeLineCap

​LineCapStyle​

LineCapStyle.Butt

设置边框端点绘制样式。

strokeLineJoin

​LineJoinStyle​

LineJoinStyle.Miter

设置边框拐角绘制样式。

strokeMiterLimit

number | string

4

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

说明:

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

strokeOpacity

number | string | ​​Resource​

1

设置边框透明度。

说明:

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

strokeWidth

Length

1

设置边框宽度。

antiAlias

boolean

true

是否开启抗锯齿效果。

示例

// xxx.ets
@Entry
@Component
struct RectExample {
  build() {
    Column({ space: 10 }) {
      Text('normal').fontSize(11).fontColor(0xCCCCCC).width('90%')
      // 绘制90% * 50的矩形
      Column({ space: 5 }) {
        Text('normal').fontSize(9).fontColor(0xCCCCCC).width('90%')
        // 绘制90% * 50矩形
        Rect({ width: '90%', height: 50 })
          .fill(Color.Pink)
          .stroke(Color.Transparent)
        // 绘制90% * 50的矩形框
        Rect()
          .width('90%')
          .height(50)
          .fillOpacity(0)
          .stroke(Color.Red)
          .strokeWidth(3)
          
        Text('with rounded corners').fontSize(11).fontColor(0xCCCCCC).width('90%')
        // 绘制90% * 80的矩形, 圆角宽高分别为40、20
        Rect({ width: '90%', height: 80 })
          .radiusHeight(20)
          .radiusWidth(40)
          .fill(Color.Pink)
          .stroke(Color.Transparent)
        // 绘制90% * 80的矩形, 圆角宽高为20
        Rect({ width: '90%', height: 80 })
          .radius(20)
          .fill(Color.Pink)
          .stroke(Color.Transparent)
      }.width('100%').margin({ top: 10 })
      // 绘制90% * 50矩形, 左上圆角宽高40,右上圆角宽高20,右下圆角宽高40,左下圆角宽高20
      Rect({ width: '90%', height: 80 })
        .radius([[40, 40], [20, 20], [40, 40], [20, 20]])
        .fill(Color.Pink)
        .stroke(Color.Transparent)
    }.width('100%').margin({ top: 5 })
  }
}

HarmonyOS API:绘制组件-鸿蒙开发者社区

文章转载自:​​https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/ts-drawing-components-rect-0000001427902488-V3?catalogVersion=V3​

已于2023-3-24 18:18:05修改
收藏
回复
举报
回复