鸿蒙5.0版开发:ArkTS画布组件(DrawingRenderingContext)

99 篇文章 0 订阅
95 篇文章 0 订阅

往期鸿蒙全套实战文章必看:


DrawingRenderingContext

使用DrawingRenderingContext在Canvas组件上进行绘制,绘制对象可以是矩形、文本、图片等。

说明:

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

接口

DrawingRenderingContext(unit?: LengthMetricsUnit)

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名类型必填说明
unit12+LengthMetricsUnit用来配置DrawingRenderingContext对象的单位模式,配置后无法更改,配置方法同CanvasRenderingContext2D
默认值:DEFAULT。

属性

系统能力: SystemCapability.ArkUI.ArkUI.Full

名称类型只读可选说明
size{width: number, height: number}Context大小的宽和高。
默认单位为vp。
canvasCanvas绘制模块的Canvas对象,具体描述见绘制模块中的Canvas对象。

方法

invalidate

invalidate(): void

系统能力: SystemCapability.ArkUI.ArkUI.Full

使组件无效,触发组件的重新渲染。

示例:

该示例实现了如何使用DrawingRenderingContext中的方法进行绘制。

// xxx.ets
@Entry
@Component
struct CanvasExample {
  private context: DrawingRenderingContext = new DrawingRenderingContext()

  build() {
    Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
      Canvas(this.context)
        .width('100%')
        .height('100%')
        .backgroundColor('#ffff00')
        .onReady(() => {
          this.context.canvas.drawCircle(200, 200, 100)
          this.context.invalidate()
        })
    }
    .width('100%')
    .height('100%')
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值