• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# ImageData对象
2
3ImageData对象可以存储canvas渲染的像素数据。
4
5>  **说明:**
6>
7> 从 API Version 8 开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
8
9
10
11## 属性
12
13| 属性 | 类型 | 描述 |
14| -------- | -------- | -------- |
15| width | number | 矩形区域实际像素宽度,单位为px。<br/>从API version 9开始,该接口支持在ArkTS卡片中使用。 |
16| height | number | 矩形区域实际像素高度,单位为px。<br/>从API version 9开始,该接口支持在ArkTS卡片中使用。 |
17| data | Uint8ClampedArray | 一维数组,保存了相应的颜色数据,数据值范围为0到255。<br/>从API version 9开始,该接口支持在ArkTS卡片中使用。 |
18
19>  **说明:**
20>
21> 可使用[px2vp](ts-pixel-units.md)接口进行单位转换。
22
23**示例:**
24
25  ```ts
26  // xxx.ets
27  @Entry
28  @Component
29  struct Translate {
30    private settings: RenderingContextSettings = new RenderingContextSettings(true)
31    private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings)
32    private img:ImageBitmap = new ImageBitmap("common/images/1234.png")
33
34    build() {
35      Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
36        Canvas(this.context)
37          .width('100%')
38          .height('100%')
39          .backgroundColor('#ffff00')
40          .onReady(() =>{
41            this.context.drawImage(this.img,0,0,130,130)
42            var imagedata = this.context.getImageData(50,50,130,130)
43            this.context.putImageData(imagedata,150,150)
44          })
45      }
46      .width('100%')
47      .height('100%')
48    }
49  }
50  ```
51
52  ![zh-cn_image_000000127777780](figures/zh-cn_image_000000127777780.png)
53
54