相关问题
 图片压缩并保存方法,有人知道吗? 
1833浏览  • 1回复 待解决
弧形进度条实现,有人知道方法吗? 
1590浏览  • 1回复 待解决
有人知道关于页demo吗? 
1739浏览  • 1回复 待解决
如何实现振动,有人知道吗? 
2438浏览  • 2回复 待解决
导包报错,有人知道原因吗? 
2319浏览  • 1回复 待解决
如何获取windowStage,有人知道吗? 
1986浏览  • 1回复 待解决
clientid相关问题,有人知道吗? 
3222浏览  • 1回复 待解决
有人知道发布页demo吗? 
2040浏览  • 1回复 待解决
有人知道吗? 
1836浏览  • 1回复 待解决
webview组件demo ,有人知道吗? 
1991浏览  • 1回复 待解决
taskpool 使用问题,有人知道吗? 
2265浏览  • 1回复 待解决
如何跳出ForEach,有人知道吗? 
3299浏览  • 1回复 待解决
如何保存faultLogger ,有人知道吗? 
1860浏览  • 1回复 待解决
如何发送短信,有人知道吗? 
3193浏览  • 1回复 待解决
有人知道吗? 
1508浏览  • 1回复 待解决
SnapShot定位,有人知道怎么处理吗? 
2508浏览  • 1回复 待解决
有人知道JS menu如何隐藏吗? 
5629浏览  • 1回复 待解决
读取文件流的方式,有人知道吗? 
2829浏览  • 1回复 待解决
应用动态导入的场景,有人知道吗? 
1233浏览  • 1回复 待解决
文件上传的实现,有人知道怎么处理吗? 
1518浏览  • 1回复 待解决
如何实现镂空效果,有人知道吗? 
1472浏览  • 1回复 待解决
IP地址如何转化,有人知道吗? 
1594浏览  • 1回复 待解决
怎么主动关闭键盘,有人知道吗? 
1343浏览  • 1回复 待解决
ArkTS要如何使用this,有人知道吗? 
1721浏览  • 1回复 待解决
charles抓包流程,有人知道吗? 
1687浏览  • 1回复 待解决





















本文通过命令模式在HarmonyOS上实现一个简单的绘图板,该绘图板功能比较简单,只能以触点轨迹绘制线条。
使用的核心API
CanvasRenderingContext2D
Path2D
核心代码解释
首先我们声明一个抽象接口IBrush,用它定义不同笔触需要实现的方法。
为了方便,这里只定义普通的笔触。
对于每一次的绘制,都可以有两个命令,一个是绘制命令,另一个是撤销命令,我们将其封装为一个命令接口。
这里只绘制路劲一种方法。
虽然只有一个绘制路劲的命令,但是,我们为其提供下撤销和重做的功能,因此,依然需要一个请求者角色来对命令进一步封装。
然后就是在page完成绘画板功能
实现效果
适配的版本信息
IDE:DevEco Studio 4.0.1.501
SDK:HarmoneyOS 4.0.0.8