canvasGetImageData.md 1.7 KB
Newer Older
1
### uni.canvasGetImageData(OBJECT, componentInstance)
Q
qiang 已提交
2 3 4

返回一个数组,用来描述 canvas 区域隐含的像素数据,在自定义组件下,第二个参数传入自定义组件实例 this,以操作组件内 `<canvas>` 组件。

D
DCloud_LXH 已提交
5 6
<!-- UNIAPPAPIJSON.canvasGetImageData.compatibility -->

Q
qiang 已提交
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
**OBJECT参数说明:**

|参数|类型|必填|说明|
|---|---|---|---|
|canvasId|String|是|画布标识,传入 ```<canvas />``` 的 canvas-id(支付宝小程序是id、其他平台是canvas-id)|
|x|Number|是|将要被提取的图像数据矩形区域的左上角 x 坐标|
|y|Number|是|将要被提取的图像数据矩形区域的左上角 y 坐标|
|width|Number|是|将要被提取的图像数据矩形区域的宽度|
|height|Number|是|将要被提取的图像数据矩形区域的高度|
|success|Function|否|接口调用成功的回调函数|
|fail|Function|否|接口调用失败的回调函数|
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)|

**success回调返回参数:**

|参数|类型|说明|
|---|---|---|
|errMsg|String||
|width|Number|图像数据矩形的宽度|
|height|Number|图像数据矩形的高度|
|data|Uint8ClampedArray|图像像素点数据,一维数组,每四项表示一个像素点的rgba|

D
DCloud_LXH 已提交
29
<!-- UNIAPPAPIJSON.canvasGetImageData.param -->
Q
qiang 已提交
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

**示例代码**

```javascript
uni.canvasGetImageData({
  canvasId: 'myCanvas',
  x: 0,
  y: 0,
  width: 100,
  height: 100,
  success(res) {
    console.log(res.width) // 100
    console.log(res.height) // 100
    console.log(res.data instanceof Uint8ClampedArray) // true
    console.log(res.data.length) // 100 * 100 * 4
  }
})
```

D
DCloud_LXH 已提交
49
<!-- UNIAPPAPIJSON.canvasGetImageData.tutorial -->