Screenshot
The Screenshot module provides APIs for you to set information such as the region to capture and the size of the screen region when capturing a screen.
NOTE
The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.
The APIs provided by this module are system APIs.
Modules to Import
import screenshot from '@ohos.screenshot';
ScreenshotOptions
Describes screenshot options.
System capability: SystemCapability.WindowManager.WindowManager.Core
Name | Type | Mandatory | Description |
---|---|---|---|
screenRect | Rect | No | Region of the screen to capture. If this parameter is null, the full screen will be captured. |
imageSize | Size | No | Size of the screen region to capture. If this parameter is null, the full screen will be captured. |
rotation | number | No | Rotation angle of the screenshot. Currently, the value can be 0 only. The default value is 0. |
displayId8+ | number | No | ID of the display device on which the screen region is to be captured. |
Rect
Describes the region of the screen to capture.
System capability: SystemCapability.WindowManager.WindowManager.Core
Name | Type | Mandatory | Description |
---|---|---|---|
left | number | Yes | Left boundary of the screen region to capture. |
top | number | Yes | Top boundary of the screen region to capture. |
width | number | Yes | Width of the screen region to capture. |
height | number | Yes | Height of the screen region to capture. |
Size
Describes the size of the screen region to capture.
System capability: SystemCapability.WindowManager.WindowManager.Core
Name | Type | Mandatory | Description |
---|---|---|---|
width | number | Yes | Width of the screen region to capture. |
height | number | Yes | Height of the screen region to capture. |
screenshot.save
save(options?: ScreenshotOptions, callback: AsyncCallback<image.PixelMap>): void
Takes a screenshot and saves it as a PixelMap object. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.WindowManager.WindowManager.Core
Required permissions: ohos.permission.CAPTURE_SCREEN (available only to system applications)
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
options | ScreenshotOptions | No | Screenshot settings consist of screenRect, imageSize, rotation, and displayId. You can set the parameters separately. |
callback | AsyncCallback<image.PixelMap> | Yes | Callback used to return a PixelMap object. |
Example
var ScreenshotOptions = {
"screenRect": {
"left": 200,
"top": 100,
"width": 200,
"height": 200},
"imageSize": {
"width": 300,
"height": 300},
"rotation": 0,
"displayId": 0
};
screenshot.save(ScreenshotOptions, (err, data) => {
if (err) {
console.error('Failed to save the screenshot. Error: ' + JSON.stringify(err));
return;
}
console.info('Screenshot saved. Data: ' + JSON.stringify(data));
});
screenshot.save
save(options?: ScreenshotOptions): Promise<image.PixelMap>
Takes a screenshot and saves it as a PixelMap object. This API uses a promise to return the result.
System capability: SystemCapability.WindowManager.WindowManager.Core
Required permissions: ohos.permission.CAPTURE_SCREEN (available only to system applications)
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
options | ScreenshotOptions | No | Screenshot settings consist of screenRect, imageSize, rotation, and displayId. You can set the parameters separately. |
Return value
Type | Description |
---|---|
Promise<image.PixelMap> | Promise used to return a PixelMap object. |
Example
var ScreenshotOptions = {
"screenRect": {
"left": 200,
"top": 100,
"width": 200,
"height": 200},
"imageSize": {
"width": 300,
"height": 300},
"rotation": 0,
"displayId": 0
};
let promise = screenshot.save(ScreenshotOptions);
promise.then(() => {
console.log('screenshot save success');
}).catch((err) => {
console.log('screenshot save fail: ' + JSON.stringify(err));
});