1# @ohos.screenshot (屏幕截图)
2
3本模块提供屏幕截图的能力。
4
5>  **说明:**
6>
7> - 本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8
9## 导入模块
10
11```ts
12import { screenshot } from '@kit.ArkUI';
13```
14
15## Rect
16
17表示截取图像的区域。
18
19**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
20
21**系统能力:** SystemCapability.WindowManager.WindowManager.Core
22
23| 名称 | 类型   | 必填 | 说明                                                         |
24| ------ | ------ | ---- | ------------------------------------------------------------ |
25| left   | number | 是   | 表示截取图像区域的左边界,单位为px,该参数应为整数。 |
26| top    | number | 是   | 表示截取图像区域的上边界,单位为px,该参数应为整数。 |
27| width  | number | 是   | 表示截取图像区域的宽度,单位为px,该参数应为整数。 |
28| height | number | 是   | 表示截取图像区域的高度,单位为px,该参数应为整数。 |
29
30## PickInfo
31
32截取图像的信息。
33
34**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
35
36**系统能力:** SystemCapability.WindowManager.WindowManager.Core
37
38
39| 名称                 | 类型          | 必填 | 说明                                                         |
40| -------------------- | ------------- | ---- | ------------------------------------------------------------ |
41| pickRect             | [Rect](#rect) | 是   | 表示截取图像的区域。                       |
42| pixelMap             | [image.PixelMap](../apis-image-kit/js-apis-image.md#pixelmap7)  | 是   | 表示截取的图像PixelMap对象 |
43
44## screenshot.pick
45
46pick(): Promise<PickInfo>
47
48获取屏幕截图。此接口仅可在2in1设备上使用。
49
50**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
51
52**系统能力:** SystemCapability.WindowManager.WindowManager.Core
53
54**返回值:**
55
56| 类型                          | 说明                                            |
57| ----------------------------- | ----------------------------------------------- |
58| Promise<[PickInfo](#pickinfo)> | Promise对象。返回一个PickInfo对象。 |
59
60**错误码:**
61
62以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[屏幕错误码](errorcode-display.md)。
63
64| 错误码ID | 错误信息 |
65| ------- | ----------------------- |
66| 801 | Capability not supported on this device. |
67| 1400003 | This display manager service works abnormally. |
68
69**示例:**
70
71```ts
72import { BusinessError } from '@kit.BasicServicesKit';
73
74try {
75  let promise = screenshot.pick();
76  promise.then((pickInfo: screenshot.PickInfo) => {
77    console.log('pick Pixel bytes number: ' + pickInfo.pixelMap.getPixelBytesNumber());
78    console.log('pick Rect: ' + pickInfo.pickRect);
79    pickInfo.pixelMap.release(); // PixelMap使用完后及时释放内存
80  }).catch((err: BusinessError) => {
81    console.log('Failed to pick. Code: ' + JSON.stringify(err));
82  });
83} catch (exception) {
84  console.error('Failed to pick Code: ' + JSON.stringify(exception));
85};
86```
87