• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# ScreenShot
2
3## Introduction
4
5The ScreenShot application is a preset system application in OpenHarmony, which provides users with the function of capturing the current screen and saving the current picture.
6
7### Architecture diagram
8
9![](figures/en_diagram.png)
10
11#### feature
12    Screen capture management layer, providing screen capture window display control and picture save control.
13#### common
14   A general tool class that provides log printing and external interface management functions.
15
16## content
17
18```
19/applications/standard/screenshot
20     ├── entry             # entry module directory
21     ├── common            # Common tool class directory
22     ├── build.gradle      # Global build configuration file
23     ├── settings.gradle   # Compile the module configuration file
24     ├── LICENSE           # License file
25     ├── signature         # Certificate file directory
26     ├── features          # subcomponent directory
27     │ ├── screenshot      # screenshot component
28     │ ├── screenShotModel # Save screenshots, etc.
29     ├── product           # ScreenShot general function catalog
30```
31
32### Function description
33#### features
34    sub-component directory, provides screen capture window display control, and image save control.
35
36#### product
37    ScreenShot general function catalog, screenshot service entrance.
38
39## sign
401. For each module under product/phone, configure signingConfigs in build.gradle
41
422. Put screenshot.p7b in the signature directory on the corresponding path configured in the build.gradle directory.
43
44## Instructions
45
46Create a small screen capture window to display pictures through create, the sample code is as follows
47
48```js
49// Create a small screen capture window to display pictures
50window.create(context, windowName, WINDOW_TYPE).then((win) => {
51  win.moveTo(0, WINDOW_Y).then(() => {
52    win.resetSize(dis.width * ZOOM_RATIO, dis.height * ZOOM_RATIO).then(() => {
53      win.loadContent(INDEX_PAGE).then(() => {
54      })
55    })
56  })
57}, (error) => {
58  Log.showInfo(TAG, " window createFailed, error.code = " + error.code)
59})
60
61
62// Take a screenshot of the current screen, the return value can be directly displayed on the control
63Screenshot.save().then(async (data) => {
64  if (!!data) {
65    show();
66  }
67}).catch((err) => {
68  Log.showInfo(TAG, `save err`);
69})
70
71```
72
73## Relevant warehouse
74
75Relevant warehouse
76
77**applications\_screenshot**