openharmony 鸿蒙 js-apis-screenshot

2025-06-12 浏览 (1)

@ohos.screenshot (屏幕截图)

本模块提供屏幕截图的能力。

说明:

  • 本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import { screenshot } from '@kit.ArkUI';

Rect

表示截取图像的区域。

原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.WindowManager.WindowManager.Core

名称类型必填说明
leftnumber表示截取图像区域的左边界,单位为px,该参数应为整数。
topnumber表示截取图像区域的上边界,单位为px,该参数应为整数。
widthnumber表示截取图像区域的宽度,单位为px,该参数应为整数。
heightnumber表示截取图像区域的高度,单位为px,该参数应为整数。

CaptureOption14+

设置截取图像的信息。

原子化服务API: 从API version 14开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.WindowManager.WindowManager.Core

名称类型必填说明
displayIdnumber表示截取图像的显示设备Display的ID号,默认为0,该参数应为大于或等于0的整数,非整数会报参数错误。

PickInfo

截取图像的信息。

原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.WindowManager.WindowManager.Core

名称类型必填说明
pickRectRect表示截取图像的区域。
pixelMapimage.PixelMap表示截取的图像PixelMap对象。

screenshot.pick

pick(): Promise<PickInfo>

获取屏幕截图。此接口仅可在2in1设备上使用。当前仅支持获取displayId为0的屏幕截图。

原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.WindowManager.WindowManager.Core

返回值:

类型说明
Promise<PickInfo>Promise对象。返回一个PickInfo对象。

错误码:

以下错误码的详细介绍请参见通用错误码屏幕错误码

错误码ID错误信息
801Capability not supported on this device.
1400003This display manager service works abnormally.

示例:

import { BusinessError } from '@kit.BasicServicesKit';

try {
  let promise = screenshot.pick();
  promise.then((pickInfo: screenshot.PickInfo) => {
    console.log('pick Pixel bytes number: ' + pickInfo.pixelMap.getPixelBytesNumber());
    console.log('pick Rect: ' + pickInfo.pickRect);
    pickInfo.pixelMap.release(); // PixelMap使用完后及时释放内存
  }).catch((err: BusinessError) => {
    console.log('Failed to pick. Code: ' + JSON.stringify(err));
  });
} catch (exception) {
  console.error('Failed to pick Code: ' + JSON.stringify(exception));
};

screenshot.capture14+

capture(options?: CaptureOption): Promise<image.PixelMap>

获取屏幕全屏截图,此接口仅支持在平板和2in1设备上使用。 此接口可以通过设置不同的displayId截取不同屏幕的截图,且只能截取全屏;pick接口可实现区域截屏。

原子化服务API: 从API version 14开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.WindowManager.WindowManager.Core

需要权限:ohos.permission.CUSTOM_SCREEN_CAPTURE

参数:

参数名类型必填说明
optionsCaptureOption截取图像的相关信息。可包含设备ID,即displayId。 此参数不填时,默认截取displayId为0的屏幕截图。

返回值:

类型说明
Promise<image.PixelMap>Promise对象。返回一个PixelMap对象。

错误码:

以下错误码的详细介绍请参见通用错误码

错误码ID错误信息
201Permission verification failed. The application does not have the permission required to call the API.
401Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types.
801Capability not supported on this device.
1400003This display manager service works abnormally.

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { image } from '@kit.ImageKit';

let captureOption: screenshot.CaptureOption = {
  "displayId": 0
};
try {
  let promise = screenshot.capture(captureOption);
  promise.then((pixelMap: image.PixelMap) => {
    console.log('Succeeded in saving screenshot. Pixel bytes number: ' + pixelMap.getPixelBytesNumber());
    pixelMap.release(); // PixelMap使用完后及时释放内存
  }).catch((err: BusinessError) => {
    console.log('Failed to save screenshot. Code: ' + JSON.stringify(err));
  });
} catch (exception) {
  console.error('Failed to save screenshot. Code: ' + JSON.stringify(exception));
};

## 你可能感兴趣的鸿蒙文章

[harmony 鸿蒙ArkUI(方舟UI框架)](/blog/MlBkmN) 

[harmony 鸿蒙ARKUI_TextPickerCascadeRangeContent](/blog/pUYJb9) 

[harmony 鸿蒙ARKUI_TextPickerRangeContent](/blog/FipBEk) 

[harmony 鸿蒙ArkUI_AnimateCompleteCallback](/blog/JULwWj) 

[harmony 鸿蒙ArkUI_AttributeItem](/blog/Z0rVeu) 

[harmony 鸿蒙ArkUI_ColorStop](/blog/GNe6oG) 

[harmony 鸿蒙ArkUI_ContextCallback](/blog/kgy7Rj) 

[harmony 鸿蒙ArkUI_EventModule](/blog/4Kl2F5) 

[harmony 鸿蒙ArkUI_ExpectedFrameRateRange](/blog/jjdDLH) 

[harmony 鸿蒙ArkUI_IntOffset](/blog/1ba3tw) 

  • 所属分类: 后端技术
  • 本文标签: 鸿蒙 软件
  • 版权声明: 本文链接 https://seaxiang.com/blog/nVZvDU