• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#  Canvas
2
3提供画布组件,用于自定义绘制图形。
4
5> **说明:**
6>
7>  该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
8
9
10
11## 权限列表
12
1314
15## 子组件
16
17不支持。
18
19## 接口
20
21Canvas(context?: CanvasRenderingContext2D)
22
23**参数:**
24
25| 参数名     | 参数类型                                     | 必填   | 默认值  | 参数描述                         |
26| ------- | ---------------------------------------- | ---- | ---- | ---------------------------- |
27| context | [CanvasRenderingContext2D](ts-canvasrenderingcontext2d.md) | 否    | -    | 见CanvasRenderingContext2D对象。 |
28
29## 属性
30
31支持通用属性。
32
33## 事件
34
35除支持通用事件外,还支持如下事件:
36
37| 名称                            | 参数   | 描述                   |
38| ----------------------------- | ---- | -------------------- |
39| onReady(event: () => void) | 无    | 画布组件的事件回调,可以在此时进行绘制。 |
40
41
42**示例:**
43
44```ts
45// xxx.ets
46@Entry
47@Component
48struct CanvasExample {
49  private settings: RenderingContextSettings = new RenderingContextSettings(true)
50  private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings)
51
52  build() {
53    Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
54      Canvas(this.context)
55        .width('100%')
56        .height('100%')
57        .backgroundColor('#ffff00')
58        .onReady(() => {
59          this.context.fillRect(0, 30, 100, 100)
60        })
61    }
62    .width('100%')
63    .height('100%')
64  }
65}
66```
67  ![zh-cn_image_0000001194032666](figures/zh-cn_image_0000001194032666.png)