---
name: "Canvas.createImageData"
mode: "api"
versionRequirements:
  - { name: "基础库", version: "2.21.8" }
title: "Canvas.createImageData - 创建 ImageData 对象"
---

## Canvas.createImageData

> [VERSION] 基础库 >= 2.21.8

> 💡 内部通过 2D 上下文的 createImageData 实现，若 Canvas 无法获取 2D 上下文则返回 undefined。

### 描述

创建一个 ImageData 对象，用于像素级操作

### 参数

`Params`

| 参数 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `width` | `number` | 是 | ImageData 的宽度 |
| `height` | `number` | 是 | ImageData 的高度 |
| `settings` | `ImageDataSettings` | 否 | 可选，指定图像数据的色彩空间等设置 |

### 返回值

类型: `ImageData`

ImageData 对象，创建失败时返回 undefined

### 示例代码

#### 创建并操作 ImageData

```js
const canvas = await this.instance.getCanvasById('myCanvas');
const imageData = canvas.createImageData(100, 100);
for (let i = 0; i < imageData.data.length; i += 4) {
  imageData.data[i] = 255;     // R
  imageData.data[i + 3] = 255; // A
}
const ctx = canvas.getContext('2d');
ctx.putImageData(imageData, 0, 0);
```
