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

济南正规网站制作品牌网站建设头像

济南正规网站制作品牌,网站建设头像,北京网站建设服务中心,保险网站定制笔者用ArkTS 写了一个简单的带笔锋的手写板应用#xff0c;并且可以将手写内容保存为图片。 一、效果图 手写效果如下#xff08;在鸿蒙手机模拟器上运行#xff0c;手写时反应可能会有点慢#xff09; 二、实现方法 参考文章#xff1a; 支持笔锋效果的手写签字控件_a…        笔者用ArkTS 写了一个简单的带笔锋的手写板应用并且可以将手写内容保存为图片。 一、效果图 手写效果如下在鸿蒙手机模拟器上运行手写时反应可能会有点慢 二、实现方法 参考文章 支持笔锋效果的手写签字控件_android 写字板如何兼容笔峰-CSDN博客 安卓画笔笔锋的实现探索一 - 简书 主要代码 核心思想在于通过插值在两点之间逐渐绘制多个椭圆从而呈现出笔锋的效果。 drawLine 方法是一段用于在2D渲染画布上绘制线条并赋予其笔锋效果的代码。 在代码中curDis 用于计算起始点和结束点之间的欧几里德距离。steps 根据距离计算出线条上需要绘制的点的数量。deltaX, deltaY, deltaW 分别表示 x 坐标、y 坐标和宽度每一步的增量。 通过 for 循环在两点之间进行插值绘制多个椭圆以模拟笔锋效果。每一步循环中创建一个椭圆对象 (oval)并设置其位置调用 oval 方法绘制椭圆。 最后更新坐标和宽度的增量为绘制下一个椭圆做准备。 /*** 绘制线条方法实现笔锋效果* param canvas 2D 渲染上下文对象* param x0 起始点 x 坐标* param y0 起始点 y 坐标* param w0 起始点宽度* param x1 结束点 x 坐标* param y1 结束点 y 坐标* param w1 结束点宽度*/private drawLine(canvas: CanvasRenderingContext2D, x0: number, y0: number, w0: number, x1: number, y1: number, w1: number): void {// 计算两点之间的欧几里德距离const curDis: number Math.hypot(x0 - x1, y0 - y1);let steps: number;// 根据距离计算步数steps 1 Math.floor(curDis / 2);// 计算每一步的增量let deltaX: number (x1 - x0) / steps;let deltaY: number (y1 - y0) / steps;let deltaW: number (w1 - w0) / steps;let x: number x0;let y: number y0;let w: number w0;// 根据步数循环绘制椭圆for (let i 0; i steps; i) {// 创建椭圆对象const oval: MyRect new MyRect();const top: number y - w / 2.0;const left: number x - w / 4.0;const right: number x w / 4.0;const bottom: number y w / 2.0;// 设置椭圆的位置oval.set(left, top, right, bottom);// 调用绘制椭圆的方法this.oval(canvas, oval);// 更新坐标和宽度增量x deltaX;y deltaY;w deltaW;}} 绘制椭圆的方法在安卓中可以用canvas.drawOval()方法在HarmonyOS中需要通过canvas.ellipse()方法来实现 /*** 绘制椭圆的方法* param canvas 渲染画布* param roundedCircleBox 圆角矩形的边界框*/private oval(canvas: CanvasRenderingContext2D, roundedCircleBox: MyRect): void {// 开始新的路径canvas.beginPath();// 绘制椭圆参数依次为椭圆中心 x 坐标、椭圆中心 y 坐标、椭圆x轴半径、椭圆y轴半径、旋转角度、起始弧度、结束弧度canvas.ellipse(roundedCircleBox.left (roundedCircleBox.right - roundedCircleBox.left) / 2,roundedCircleBox.top (roundedCircleBox.bottom - roundedCircleBox.top) / 2,(roundedCircleBox.right - roundedCircleBox.left) / 2,(roundedCircleBox.bottom - roundedCircleBox.top) / 2,0, // 旋转角度为 0表示不旋转0, // 起始弧度为 02 * Math.PI); // 结束弧度为 2π表示绘制整个椭圆// 填充椭圆canvas.fill();// 关闭路径canvas.closePath();} 三、开源地址 NotePad: HarmonyOS ArkTS带笔锋手写板应用
http://www.hkea.cn/news/14379050/

相关文章:

  • 万泉河网站建设android 写wordpress
  • 营销手机网站安徽网站建设产品介绍
  • 猪八戒网站做设计兼职流程辽宁住房与城乡建设厅网站
  • 短链接在线生成嘉兴优化网站价格
  • 成都市 建设领域信用系统网站徐汇网站开发
  • 中国版动漫网站模板wordpress+判断标签
  • 做业务查牙医诊所一般用什么网站四川省建设勘察设计网站
  • spring mvc 做网站如何能让网站尽快备案通过
  • 安徽全网优化专业网站设计制作优化排名
  • 湖南的商城网站建设中铁建设集团有限公司官方网站
  • 怎么做招标公司网站如何做免费网站制作
  • 学校官网网站建设的现状分析送网站建设管理信息内容审核制度
  • 淘宝客 网站无备案网站开发如何收费
  • cms官方网站网站源码建站视频教程
  • 网站策划案怎么写范文莱芜金点子今天最新招聘
  • 无锡优化网站费用国外室内设计网
  • 帮你省网站怎么做如何查看网站有没有收录
  • 西宁公司官方网站建设wordpress文章怎么打开空格
  • 网站推广做哪个比较好有哪些做的好的营销型网站
  • 网站开发后端 书沈阳网站建设方案推广
  • wordpress建站速度提升vi形象设计包括什么
  • 专业网站建设系统网站域名登
  • 基于jsp的电商网站开发网易企业邮箱下载官网
  • 国外平面设计网站有哪些导航到光明城市
  • 自己做网站 什么软件凌云县 城市建设 网站
  • 网站构思装修设计费收费标准2022
  • 找平面设计师网站网页设计模板图片素材
  • 网站的关键词在哪设置关于网站建设的合同范本
  • zzcms网站开发平台推广策略
  • 协会工作方案网站建设困难如何修改网页模版