相关问题
弧形进度条实现,有人知道方法吗?
660浏览 • 1回复 待解决
图片压缩并保存方法,有人知道吗?
725浏览 • 0回复 待解决
有人知道关于页demo吗?
703浏览 • 1回复 待解决
如何跳出ForEach,有人知道吗?
1950浏览 • 1回复 待解决
webview组件demo ,有人知道吗?
748浏览 • 1回复 待解决
taskpool 使用问题,有人知道吗?
834浏览 • 1回复 待解决
有人知道吗?
534浏览 • 1回复 待解决
有人知道JS menu如何隐藏吗?
4479浏览 • 1回复 待解决
如何保存faultLogger ,有人知道吗?
547浏览 • 1回复 待解决
如何发送短信,有人知道吗?
1842浏览 • 1回复 待解决
SnapShot定位,有人知道怎么处理吗?
844浏览 • 1回复 待解决
有人知道社区怎么预约直播吗?
2826浏览 • 1回复 已解决
有人知道吗?
103浏览 • 1回复 待解决
有人知道吗?
237浏览 • 0回复 待解决
List局部刷新,有人知道怎么处理吗?
1106浏览 • 1回复 待解决
List组件性能问题,有人知道吗?
1973浏览 • 1回复 待解决
ArkTS支持反射,有人知道反射用法吗?
2206浏览 • 1回复 待解决
有人知道如何实现图文混排吗?
680浏览 • 1回复 待解决
IDE如何开启ASAN,有人知道吗?
230浏览 • 1回复 待解决
如何实现翻页功能,有人知道吗?
1873浏览 • 1回复 待解决
如何引用HSP库,有人知道吗?
1598浏览 • 1回复 待解决
导航栏如何适配,有人知道吗?
1741浏览 • 0回复 待解决
如何定义dialog动画,有人知道吗?
1863浏览 • 1回复 待解决
如何使用快速修复,有人知道吗?
602浏览 • 1回复 待解决
如何获取wifi列表,有人知道吗?
446浏览 • 1回复 待解决
本文通过命令模式在HarmonyOS上实现一个简单的绘图板,该绘图板功能比较简单,只能以触点轨迹绘制线条。
使用的核心API
CanvasRenderingContext2D
Path2D
核心代码解释
首先我们声明一个抽象接口IBrush,用它定义不同笔触需要实现的方法。
为了方便,这里只定义普通的笔触。
对于每一次的绘制,都可以有两个命令,一个是绘制命令,另一个是撤销命令,我们将其封装为一个命令接口。
这里只绘制路劲一种方法。
虽然只有一个绘制路劲的命令,但是,我们为其提供下撤销和重做的功能,因此,依然需要一个请求者角色来对命令进一步封装。
然后就是在page完成绘画板功能
实现效果
适配的版本信息
IDE:DevEco Studio 4.0.1.501
SDK:HarmoneyOS 4.0.0.8