赞
踩
今天继续和大家分享鸿蒙开发实战案例。
今天要做的是一个简易画板,先看效果图。
首先添加一个画板组件,并添加一个touch方法:
- Canvas(this.context)
- .width('100%')
- .height('100%')
- .backgroundColor('#F5DC62')
- .onTouch((event)=>{
-
- })
然后创建一个CanvasRenderingContext2D对象和path2d对象:
- private settings: RenderingContextSettings = new RenderingContextSettings(true);
- private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings);
- private path2Db: Path2D = new Path2D()
接下来定义两个坐标用来记录手指滑过的痕迹:
- private pointX1:number
- private pointY1:number
-
- private pointX2:number
- private pointY2:number
然后我们要做的是记录下光标或手指移动的轨迹并进行绘制。在手指刚按下屏幕时,给path2d对象一个起点:
- if (event.type === TouchType.Down) {
-
- this.path2Db.moveTo(event.touches[0].x, event.touches[0].y);
-
- this.pointX1 = pointX
- this.pointY1 = pointY
-
- this.pointX2 = pointX
- this.pointY2 = pointY
- }
当手指移动时,使用贝塞尔曲线在两点之间绘制出圆滑的曲线:
- if (event.type === TouchType.Move) {
-
- let curX = (pointX + this.pointX1)/2
- let curY = (pointY + this.pointY1)/2
-
- this.path2Db.bezierCurveTo(this.pointX1,this.pointY1,this.pointX2,this.pointY2,curX,curY)
-
- this.context.stroke(this.path2Db)
-
- }
看下效果:
你还可以设置画笔的粗细和颜色:
-
- //画笔粗细
- this.context.lineWidth = 5
- //画笔颜色
- this.context.strokeStyle = '#0000ff'
本次源码,请移步直文末获取
最后,有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(Harmony NEXT)资料用来跟着学习是非常有必要的。
为了能够帮助大家快速掌握鸿蒙(Harmony NEXT)应用开发技术知识。在此给大家分享一下我结合鸿蒙最新资料整理出来的鸿蒙南北向开发学习路线以及整理的最新版鸿蒙学习文档资料。
这份鸿蒙(Harmony NEXT)资料包含了鸿蒙开发必掌握的核心知识要点,内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)技术知识点。
希望这一份鸿蒙学习资料能够给大家带来帮助,有需要的小伙伴自行领取,限时开源,先到先得~无套路领取!!
如果你是一名有经验的资深Android移动开发、Java开发、前端开发、对鸿蒙感兴趣以及转行人员,可以直接领取这份资料
获取这份完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料
HarmonOS基础技能
有了路线图,怎么能没有学习资料呢,小编也准备了一份联合鸿蒙官方发布笔记整理收纳的一套系统性的鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,内容包含:ArkTS、ArkUI、Web开发、应用模型、资源分类…等知识点。
获取以上完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料
OpenHarmony北向、南向开发环境搭建
获取以上完整鸿蒙HarmonyOS学习资料,请点击→纯血版全套鸿蒙HarmonyOS学习资料
总的来说,华为鸿蒙不再兼容安卓,对中年程序员来说是一个挑战,也是一个机会。只有积极应对变化,不断学习和提升自己,他们才能在这个变革的时代中立于不败之地。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。