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**