• Home
Name Date Size #Lines LOC

..--

AppScope/06-May-2025-3432

entry/06-May-2025-965859

hvigor/06-May-2025-3736

screenshot/06-May-2025-

.gitignoreD06-May-2025133 1212

README.mdD06-May-20252.8 KiB6949

build-profile.json5D06-May-20251.3 KiB5656

code-linter.json5D06-May-2025957 3434

hvigorfile.tsD06-May-2025842 215

oh-package.json5D06-May-2025808 2524

ohosTest.mdD06-May-2025751 128

README.md

1# 使用Drawing实现图形绘制与显示(ArkTS)
2
3## 介绍
4
5本工程主要实现了对以下指南文档中[访问控制概述](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/security/AccessToken/access-token-overview.md)示例代码片段的工程化,主要目标是实现指南中示例代码需要与sample工程文件同源。
6
7## 效果预览
8
9| ![](screenshot/path.png) | ![](screenshot/rect.png) | ![](screenshot/text.png) |
10| ------------------------ | ------------------------ | ------------------------ |
11
12使用说明:
131. 该工程可以选择在模拟器和开发板上运行。
142. 点击构建,即可在生成的应用中点击对应的按钮进行图案的绘制。
153. 进入”DocsSample/Drawing/ArkTSDrawing/entry/src/ohosTest/ets/test/DrawingAbility.test.ets“文件,可以对本项目进行UI的自动化测试。
16
17## 工程目录
18
19```
20ArkTSDrawing
21├──entry/src/main
22│  ├──ets  // ets代码区
23|  |  ├──common
24|  |  |  ├──logger.ts               // 日志类
25|  |  |  ├──MyNodeController.ets    // 节点控制类
26|  |  |  ├──PathRenderNode.ets      // 绘制路径类
27|  |  |  ├──RectRenderNode.ets      // 绘制矩形类
28|  |  |  └──TextRenderNode.ets      // 绘制文本类
29│  │  ├──entryability
30|  |  |  └──EntryAbility.ets        // 程序入口类
31|  |  ├──entrybackupability
32│  │  │  └──EntryBackupAbility.ets
33│  │  └──pages                      // 页面文件
34│  │     └──Index.ets               // 主界面
35|  ├──resources         			// 资源文件目录
36```
37
38## 具体实现
39
401. 创建`NodeController`的子类`MyNodeController`,并在其中定义创建`FrameNode`的函数。`NodeController`定义了节点容器的控制器,控制着容器里在生命周期中的节点。`FrameNode`定义了节点的基本类型,并包含一个`RenderNode`。
412. 创建`RenderNode`子类`PathRenderNode`、`RectRenderNode`、`TextRenderNode`并在其中定义绘图函数。`RenderNode`中包含树结构的操作,以及对绘制属性的操作,其中`draw`方法会在`RenderNode`进行绘制时被调用。使用每个子类的`draw`方法可以实现五角星、举行和文本文字的绘制。
42
43## 相关权限
44
45无。
46
47## 依赖
48
49不涉及。
50
51## 约束和限制
52
531. 本示例支持标准系统上运行,支持设备:仅在手机上可以正确显示。
542. 本示例支持API14版本SDK,版本号:5.0.2.57。
553. 本示例已支持使DevEco Studio 5.0.1 Release (构建版本:5.0.5.306,构建 2024年12月6日)编译运行。
56
57## 下载
58
59如需单独下载本工程,执行如下命令:
60
61```
62git init
63git config core.sparsecheckout true
64echo code/DocsSample/Drawing/ArkTSDrawing/ > .git/info/sparse-checkout
65git remote add origin https://gitee.com/openharmony/applications_app_samples.git
66git pull origin master
67```
68
69