@ohos.screenshot (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. The value must be an integer. |
displayId8+ | number | No | ID of the display device on which the screen region is to be captured. The value must be an integer. |
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, in px. The value must be an integer. |
top | number | Yes | Top boundary of the screen region to capture, in px. The value must be an integer. |
width | number | Yes | Width of the screen region to capture, in px. The value must be an integer. |
height | number | Yes | Height of the screen region to capture, in px. The value must be an integer. |
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, in px. The value must be an integer. |
height | number | Yes | Height of the screen region to capture, in px. The value must be an integer. |
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 | Yes | 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
import { BusinessError } from '@ohos.base';
import image from '@ohos.multimedia.image';
let screenshotOptions: screenshot.ScreenshotOptions = {
"screenRect": {
"left": 200,
"top": 100,
"width": 200,
"height": 200 },
"imageSize": {
"width": 300,
"height": 300 },
"rotation": 0,
"displayId": 0
};
try {
screenshot.save(screenshotOptions, (err: BusinessError, pixelMap: image.PixelMap) => {
if (err) {
console.log('Failed to save screenshot. Code: ' + JSON.stringify(err));
return;
}
console.log('Succeeded in saving screenshot. Pixel bytes number: ' + pixelMap.getPixelBytesNumber());
pixelMap.release(); // Release the memory in time after the PixelMap is used.
});
} catch (exception) {
console.error('Failed to save screenshot. Code: ' + JSON.stringify(exception));
};
screenshot.save
save(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 |
---|---|---|---|
callback | AsyncCallback<image.PixelMap> | Yes | Callback used to return a PixelMap object. |
Example
import { BusinessError } from '@ohos.base';
import image from '@ohos.multimedia.image';
try {
screenshot.save((err: BusinessError, pixelMap: image.PixelMap) => {
if (err) {
console.log('Failed to save screenshot. Code: ' + JSON.stringify(err));
return;
}
console.log('Succeeded in saving screenshot. Pixel bytes number: ' + pixelMap.getPixelBytesNumber());
pixelMap.release(); // Release the memory in time after the PixelMap is used.
});
} catch (exception) {
console.error('Failed to save screenshot. Code: ' + JSON.stringify(exception));
};
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
import { BusinessError } from '@ohos.base';
import image from '@ohos.multimedia.image';
let screenshotOptions: screenshot.ScreenshotOptions = {
"screenRect": {
"left": 200,
"top": 100,
"width": 200,
"height": 200 },
"imageSize": {
"width": 300,
"height": 300 },
"rotation": 0,
"displayId": 0
};
try {
let promise = screenshot.save(screenshotOptions);
promise.then((pixelMap: image.PixelMap) => {
console.log('Succeeded in saving screenshot. Pixel bytes number: ' + pixelMap.getPixelBytesNumber());
pixelMap.release(); // Release the memory in time after the PixelMap is used.
}).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));
};