---
name: "canvasGetImageData"
mode: "api"
versionRequirements:
  - { name: "基础库", version: "2.21.8" }
title: "ty.canvasGetImageData - 获取 canvas 区域隐含的像素数据"
---

## canvasGetImageData

> [VERSION] 基础库 >= 2.21.8

### 描述

获取 canvas 区域隐含的像素数据

### 参数

`Params`

| 参数 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `params` | `CanvasGetImageDataOption` | 是 | 像素区域配置 |

### 返回值

无


### 引用对象

##### `interface` CanvasGetImageDataOption

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `canvasId` | `string` | canvas 组件的 id |
| `x` | `number` | 将要被提取的图像数据矩形区域的左上角横坐标 |
| `y` | `number` | 将要被提取的图像数据矩形区域的左上角纵坐标 |
| `width` | `number` | 将要被提取的图像数据矩形区域的宽度 |
| `height` | `number` | 将要被提取的图像数据矩形区域的高度 |
| `success` | `(result: CanvasGetImageDataResult) => void` | 接口调用成功的回调函数 |
| `fail` | `(result: CanvasGetImageDataResult) => void` | 接口调用失败的回调函数 |
| `complete` | `(result: CanvasGetImageDataCompleteResult) => void` | 接口调用结束的回调函数（调用成功、失败都会执行） |

##### `interface` CanvasGetImageDataResult

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `width` | `number` | 图像像素点数据宽度 |
| `height` | `number` | 图像像素点数据高度 |
| `data` | `number[]` | 图像像素点数据，一维数组，每四项表示一个像素点的 RGBA |

##### `type` CanvasGetImageDataCompleteResult

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `type` | `string` | 调用结果类型 |
| `result` | `CanvasGetImageDataResult` | 结果数据 |


### 示例代码

#### 获取画布像素数据

```ts
ty.canvasGetImageData({
  canvasId: 'myCanvas',
  x: 0,
  y: 0,
  width: 100,
  height: 100,
  success(res) {
    console.log('像素数据', res.data);
  },
});
```
