• Home
Name Date Size #Lines LOC

..--

entry/12-May-2024-1,9201,793

hvigor/12-May-2024-2422

screenshots/device/12-May-2024-

.gitignoreD12-May-2024100 77

README_zh.mdD12-May-20244.4 KiB9057

build-profile.json5D12-May-20241 KiB4241

hvigorfile.tsD12-May-2024774 171

hvigorwD12-May-20242.1 KiB6228

hvigorw.batD12-May-20242 KiB7256

oh-package.json5D12-May-2024838 2826

README_zh.md

1# 画布组件
2
3### 介绍
4
5<canvas\>组件可以自定义绘制图形,本示例展示了<canvas\>组件的使用方法。
6
7### 效果预览
8
9|               主页              |
10|--------------------------------|
11|![](screenshots/device/main.png) |
12
13使用说明
14
151.点击“RenderingContext”按钮,跳转进入RenderingContext页面查看相关的方法属性;点击按钮可查看对应的方法属性的效果展示。
16
172.点击“TransformExample”按钮,跳转进入TransformExample页面查看相关的方法属性;点击按钮可查看对应的方法属性的效果展示。
18
193.点击“ShadowOffset”按钮,跳转进入ShadowOffset页面查看相关的方法属性;点击按钮可查看对应的方法属性的效果展示。
20
214.点击“Path2D”按钮,跳转进入Path2D页面查看所有相关的方法属性;点击按钮可查看对应的方法属性的效果展示。
22
235.点击“ImageBitmap”按钮,跳转进入ImageBitmap页面查看图片效果展示。
24
256.点击“CanvasGrident”按钮,跳转进入CanvasGrident页面可查看两种渐变方法的效果展示。
26
27### 工程目录
28```
29entry/src/main/ets/MainAbility
30|---app.ets
31|---pages
32|   |---BitmapExample.ets                         // ImageBitmap页面,图片效果展示
33|   |---GradientExample.ets                       // CanvasGrident页面, 展示两种渐变方法的效果
34|   |---Index.ets                                 // 首页
35|   |---PathExample.ets                           // Path2D页面,方法属性的效果展示
36|   |---RenderingContext.ets                      // RenderingContext页面,方法属性的效果展示
37|   |---RenderingContext1.ets                     // RenderingContext1页面,方法属性的效果展示
38|   |---RenderingContext2.ets                     // RenderingContext2页面,方法属性的效果展示
39|   |---ShadowOffsetExample.ets                   // ShadowOffset页面,方法属性的效果展示
40|   |---TransformExample.ets                      // TransformExample页面,方法属性的效果展示
41```
42
43### 具体实现
44
45* 所有模块用到接口:[@ohos.router](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/js-apis-router.md)
46
47* RenderingContext模块,提供了绘制圆弧(arc),绘制描边文字(strokeText),绘制一条路径(closePath),绘制曲线(quadraticCurveTo),绘制基线(textBaseline)方法属性
48
49* RenderingContext1模块,提供了颜色设置(strokeStyle),中线端点(lineCap),透明度(globalAlpha),文字水平对齐(textAlign),创建圆形边角(lineJoin),最大斜接长度(miterLimit),合成操作(globalCompositeOperation)方法属性
50
51* RenderingContext2模块,提供了绘制介于两条切线之间的弧(arcTo),绘制三次贝塞尔曲线(bezierCurveTo),绘制椭圆(ellipse),创建矩形(rect),在指定的方向内重复指定的元素(createPattern),绘制虚线(lineDashOffset,setLineDash),画布缩放(scale)方法属性
52
53* TransformExample模块,提供了画布平移(translate),画布变换(transform),变换矩阵(setTransform),图形旋转(rotate)方法属性
54
55* ShadowOffset模块,提供了设置或返回阴影与形状的垂直距离(shadowOffsetY),设置或返回阴影与形状的水平距离(shadowOffsetX),设置或返回阴影的模糊级数(shadowBlur)方法属性
56
57* Path2D模块,提供了绘制圆弧(arc),曲线(quadraticCurveTo),绘制三次贝塞尔曲线(bezierCurveTo),绘制介于两条切线之间的弧(arcTo),绘制椭圆(ellipse),创建矩形(rect),绘制一条路径(closePath),添加路径(addPath)的平面画图属性
58
59* BitmapExample模块,提供了图片效果展示的方法
60
61* CanvasGrident模块,提供了创建(圆形)梯度渐变(createRadialGradient),创建线条渐变(createLinearGradient)方法
62
63#### 相关概念
64
65Canvas:提供画布组件,用于自定义绘制图形。
66
67### 相关权限
68
69不涉及。
70
71### 依赖
72
73不涉及。
74
75### 约束与限制
76
771.本示例仅支持标准系统运行。
78
792.本示例需要使用DevEco Studio 3.1 Beta2 (Build Version: 3.1.0.400 构建 2023年4月7日)才可编译运行。
80
81### 下载
82
83如需单独下载本工程,执行如下命令:
84```
85git init
86git config core.sparsecheckout true
87echo /code/UI/ArkTsComponentClollection/Canvas > .git/info/sparse-checkout
88git remote add origin https://gitee.com/openharmony/applications_app_samples.git
89git pull origin master
90```