• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# ScreenShot
2
3## 简介
4
5### 内容介绍
6ScreenShot应用是OpenHarmony中预置的系统应用,为用户提供截取当前屏幕并保存图片的功能。
7
8### 架构图
9
10![](figures/cn_diagram.png)
11
12#### feature
13    截屏管理层,提供截屏窗口显示控制,图片保存控制。
14#### common
15    通用工具类,提供日志打印,外部接口管理功能。
16
17## 目录
18
19```
20/applications/standard/screenshot
21    ├── entry                           # entry模块目录
22    ├── common                          # 通用工具类目录
23    ├── build.gradle                    # 全局编译配置文件
24    ├── settings.gradle                 # 编译模块配置文件
25    ├── LICENSE                         # 许可文件
26    ├── signature                       # 证书文件目录
27    ├── features                        # 子组件目录
28    │   ├── screenshot                  # 截屏组件
29    │       ├── screenShotModel         # 截屏图片保存等
30    ├── product                         # ScreenShot总体功能目录
31```
32
33### 功能描述
34#### features
35    子组件目录,提供截屏窗口显示控制,图片保存控制。
36
37#### product
38    ScreenShot总体功能目录,截屏服务入口。
39
40## 签名
411.针对product/phone下的每一个模块,配置build.gradle中的signingConfigs
42
432.将signature目录下的screenshot.p7b放在build.gradle目录中配置的相应路径即可
44
45
46## 使用方法
47
48通过create创建截屏小窗口用于显示图片,示例代码如下
49
50```js
51// 创建截屏小窗口用于显示图片
52window.create(context, windowName, WINDOW_TYPE).then((win) => {
53  win.moveTo(0, WINDOW_Y).then(() => {
54    win.resetSize(dis.width * ZOOM_RATIO, dis.height * ZOOM_RATIO).then(() => {
55      win.loadContent(INDEX_PAGE).then(() => {
56      })
57    })
58  })
59}, (error) => {
60  Log.showInfo(TAG, " window createFailed, error.code = " + error.code)
61})
62
63
64// 截取当前屏幕,返回值可以直接显示控件上
65Screenshot.save().then(async (data) => {
66  if (!!data) {
67    show();
68  }
69}).catch((err) => {
70  Log.showInfo(TAG, `save err`);
71})
72
73```
74
75## 相关仓
76
77系统应用
78
79**applications\_screenshot**