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