---
title: "画布操作"
description: "画布操作"
language: "zh"
canonical: "https://g6.antv.antgroup.com/zh/api/canvas/"
version: "5.1.1"
---

## 画布操作概述

G6 提供了一系列画布操作 API，用于控制和获取画布的基本信息。通过这些 API，你可以：

- 获取画布实例
- 获取和设置画布尺寸
- 操作画布渲染器和图层

## API 参考

### Graph.getCanvas()

获取画布实例，返回的实例可用于进行底层的画布操作。

```typescript
getCanvas(): Canvas;
```

**返回值类型说明**

Canvas 实例包含以下主要功能：

- `getLayer(name?: string)`: 获取指定图层
- `getLayers()`: 获取所有图层
- `getCamera()`: 获取相机实例
- `getRoot()`: 获取根节点
- `setCursor(cursor: string)`: 设置鼠标样式

**示例**

```typescript
// 获取画布实例
const canvas = graph.getCanvas();

// 获取主图层
const mainLayer = canvas.getLayer('main');

// 设置鼠标样式
canvas.setCursor('pointer');

// 获取画布根节点
const root = canvas.getRoot();
```

### Graph.getSize()

获取当前画布容器的尺寸。返回一个包含宽度和高度的数组。

```typescript
getSize(): [number, number];
```

**示例**

```typescript
// 获取画布尺寸
const [width, height] = graph.getSize();
console.log('画布宽度:', width);
console.log('画布高度:', height);

// 使用尺寸信息进行计算
const centerX = width / 2;
const centerY = height / 2;
```

### Graph.setSize(width, height)

设置画布容器的尺寸。这个方法会同时更新画布和容器的大小。

```typescript
setSize(width: number, height: number): void;
```

**参数**

| 参数   | 描述             | 类型   | 默认值 | 必选 |
| ------ | ---------------- | ------ | ------ | ---- |
| width  | 画布宽度（像素） | number | -      | ✓    |
| height | 画布高度（像素） | number | -      | ✓    |

**示例**

```typescript
// 设置固定尺寸
graph.setSize(800, 600);
```
