当前位置: 首页 > news >正文

山东网站开发公司查询网站备案时间

山东网站开发公司,查询网站备案时间,外贸免费网站制作,企业网站制作步骤在前一篇手写板的文章中#xff08;HarmonyOS应用开发-手写板-CSDN博客#xff09;#xff0c;我们通过使用Path实现了一个基本的手写板#xff0c;但遗憾的是#xff0c;无法保存所绘制的图像。在本文中#xff0c;我们将采用canvas和Path2D来重新构建手写板应用。依然只…        在前一篇手写板的文章中HarmonyOS应用开发-手写板-CSDN博客我们通过使用Path实现了一个基本的手写板但遗憾的是无法保存所绘制的图像。在本文中我们将采用canvas和Path2D来重新构建手写板应用。依然只需几十行代码就能轻松实现手写功能并添加清空画布以及保存图片的功能。 一、先上效果图 二、上代码 import picker from ohos.file.picker; import fs from ohos.file.fs; import buffer from ohos.buffer;Entry Component struct CanvasPage {//手写路径State pathCommands: string ;canvas: CanvasRenderingContext2D new CanvasRenderingContext2D();path2D: Path2D new Path2D();build() {Column() {Row() {//清空画布按钮Button(清空).margin(10).onClick(() {//将路径置空this.path2D new Path2D();//清空画布this.canvas.clearRect(0, 0, this.canvas.width, this.canvas.height);})Button(保存).onClick(() {this.saveImage();})}Canvas(this.canvas).width(100%).height(100%).onTouch((e) {this.onTouchEvent(e);})}}onTouchEvent(event: TouchEvent) {//手指按下和移动时的位置转换成像素位置let x (event.touches[0].x);let y (event.touches[0].y);switch (event.type) {//手指按下case TouchType.Down://移动到x,y)点this.path2D.moveTo(x, y);break;//画线到x,y)点case TouchType.Move:this.path2D.lineTo(x, y);//画笔颜色this.canvas.strokeStyle #0000ff;//画笔粗细this.canvas.lineWidth 5;//画出线段this.canvas.stroke(this.path2D);break;default:break;}}saveImage() {//文件保存路径let uri ;try {let PhotoSaveOptions new picker.PhotoSaveOptions();//保存图片默认名称PhotoSaveOptions.newFileNames [11111.png];let photoPicker new picker.PhotoViewPicker();//调起系统的图片保存功能photoPicker.save(PhotoSaveOptions).then((PhotoSaveResult) {uri PhotoSaveResult[0];//获取图片的base64字符串let imageStr this.canvas.toDataURL().split(,)[1];//打开文件let file fs.openSync(uri, fs.OpenMode.READ_WRITE);//base64字符串转成bufferconst decodeBuffer buffer.from(imageStr, base64).buffer;//写入文件fs.writeSync(file.fd, decodeBuffer);//关闭文件fs.closeSync(file);}).catch((err: Error) {console.error(err );})} catch (e) {console.error(e);}} } 在这段代码中根据功能划分主要涵盖了三个关键操作绘制路径、清空画布和保存画布。 一、绘制路径 在绘制路径方面代码通过Canvas执行图像绘制同时借助Path2D定义了具体的绘制路径。手写路径的生成通过记录手指按下和移动的位置实现。具体操作包括 this.path2D.moveTo(x, y) // 移动到(x, y)点 this.path2D.lineTo(x, y) // 画线到(x, y)点二、清空画布 清空画布的操作分为两步 1.将路径置空 // 重新生成新的Path2D对象因为HarmonyOS中的Path2D没有reset方法 this.path2D new Path2D(); 2.清空canvas this.canvas.clearRect(0, 0, this.canvas.width, this.canvas.height); 三、保存画布 保存画布的过程主要由saveImage方法完成依赖于ohos.file.picker组件调用系统的图片保存功能。具体步骤包括 通过PhotoViewPicker的save方法获取用户选择的保存文件路径。利用Canvas的toDataURL()方法将Canvas转换为base64字符串形式的图片。通过ohos.buffer将base64字符串转换为buffer。最终通过ohos.file.fs将buffer写入文件文件的路径为之前获取的保存路径。 这一系列步骤成功实现了将绘制的图像保存为一个完整的图片文件。整体而言代码清晰地展示了绘制路径、清空画布和保存画布的功能实现。
http://wiki.neutronadmin.com/news/94752/

相关文章:

  • Python视频直播网站开发wordpress woocommerce 支付宝
  • 网站搭建技术方案wordpress主题 个人博客
  • 邯郸做网站哪儿好济南企业型网站
  • 网站seo关键词优化技巧杭州网站如何制作
  • 做网站有意思吗?网站开发tt0546
  • 网站排名总是不稳定模版ppt
  • 回老家做PHP网站定西市城乡建设局网站
  • php网站开发 vip批量入侵wordpress
  • 网站版面如何布局视频设计师是干什么的
  • 外包网站开发合同网站开发项目的前端后端数据库
  • 网站页面设计合同网站seo诊断书
  • 网站开发fsdpjqwordpress导航页面设置
  • 婚庆网站设计说明书不配置iis做网站
  • 网站建设公司58阿里云 全国网站建设
  • 网站备案信息的核查方式网站关键字及说明
  • 月租网站空间wordpress自动审核评论
  • 廊坊网站网站建设网址转化短链接
  • 公司国外网站建设计算机技术移动互联网开发
  • 贵阳微网站wordpress版本列表
  • 温州建站程序大型网站建设多少钱
  • 免费公司注册网站公众号编辑器怎么使用
  • 网站定制设计网上注册营业执照怎么注册
  • 呼和浩特网站建设wordpress视频主题模板下载
  • asp网站后台管理系统下载培训心得体会1000字
  • 房县网站建设WordPress去除官网链接
  • 影城网站建设宁波网站排名方法
  • 怎么做网站后台网站无法备案
  • 网站服务合同交印花税吗一个微信网站多少钱
  • 网站百度快照不更新做铁艺需要什么网站
  • 遵义市城乡建设局安管人员考试网站龙岗网站建设费用