canvas学习笔记之绘制简单路径


Posted in HTML / CSS onJanuary 28, 2019

1 线段(直线路径)

绘制线段一般步骤:

moveTo(x,y) 移动画笔到指定的坐标点(x,y)
lineTo(x,y) 使用直线连接当前端点和指定的坐标点(x,y)
stroke() 根据当前的画线样式,绘制当前或已经存在的路径

2 矩形路径

绘制矩形路径一般步骤:

rect(x, y, width, height) 矩形路径,坐标点(x,y),width height宽高
stroke()或fill 根据当前的样式,绘制或填充路径
也可使用前文提到的strokeRect或fillRect, 或者是通过lineTo拼接成矩形

3 圆弧路径

先看下绘制圆弧的api:

ctx.arc(x, y, radius, startAngle, endAngle, anticlockwise);

x, y 圆弧中心, radius 圆弧半径, startAngle 起始点, endAngle 圆弧终点, anticlockwise 默认为顺时针, true逆时针
CSS中做旋转用到都是角度(deg),但是arc函数中表示角的单位是弧度,不是角度。角度与弧度的js表达式: 弧度 = (Math.PI/180) * 角度(deg)。
这里弧度是以x轴正方向为基准、默认顺时针旋转的角度来计算

图示:

canvas学习笔记之绘制简单路径
 

(图片来自大漠)

ctx.beginPath();
ctx.arc(200, 100, 100, 0, Math.PI / 2, false);
ctx.closePath();
ctx.stroke();
ctx.fill();

canvas学习笔记之绘制简单路径

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
html5 css3 动态气泡按钮实例演示
Dec 02 HTML / CSS
使用CSS3和Checkbox实现JQuery的一些效果
Aug 03 HTML / CSS
HTML5中的nav标签学习笔记
Jun 24 HTML / CSS
HTML5 Web存储方式的localStorage和sessionStorage进行数据本地存储案例应用
Dec 09 HTML / CSS
HTML5之SVG 2D入门4—笔画与填充
Jan 30 HTML / CSS
基于html5 DeviceOrientation 实现微信摇一摇功能
Sep 25 HTML / CSS
HTML5移动端手机网站开发流程
Apr 25 HTML / CSS
HTML5+css3:3D旋转木马效果相册
Jan 03 HTML / CSS
Html5 Canvas动画基础碰撞检测的实现
Dec 06 HTML / CSS
Html5导航栏吸顶方案原理与对比实现
Jun 10 HTML / CSS
html5实现九宫格抽奖可固定抽中某项奖品
Jun 15 HTML / CSS
详解CSS3.0(Cascading Style Sheet) 层叠级联样式表
Jul 16 HTML / CSS
web页面录屏实现
Feb 12 #HTML / CSS
Canvas 文本转粒子效果的实现代码
Feb 14 #HTML / CSS
canvas学习笔记之2d画布基础的实现
Feb 21 #HTML / CSS
使用HTML5原生对话框元素并轻松创建模态框组件
Mar 06 #HTML / CSS
详解如何用canvas画一个微笑的表情
Mar 14 #HTML / CSS
使用html2canvas将页面转成图并使用用canvas2image下载
Apr 04 #HTML / CSS
5分钟弄清楚html5的drag and drop(小结)
Apr 10 #HTML / CSS
You might like
PHP5 安装方法
2007/01/15 PHP
PHP CLI模式下的多进程应用分析
2013/06/03 PHP
PHP fopen()和 file_get_contents()应用与差异介绍
2014/03/19 PHP
js下弹出窗口的变通
2007/04/18 Javascript
JavaScript函数的4种调用方法详解
2014/04/22 Javascript
javascript的函数作用域
2014/11/12 Javascript
js实现字符串和数组之间相互转换操作
2016/01/12 Javascript
微信小程序 框架详解及实例应用
2016/09/26 Javascript
使用vue与jquery实时监听用户输入状态的操作代码
2017/09/19 jQuery
Javacript中自定义的map.js  的方法
2017/11/26 Javascript
JS弹窗 JS弹出DIV并使整个页面背景变暗功能的实现代码
2018/04/21 Javascript
vue keep-alive请求数据的方法示例
2018/05/16 Javascript
搭建一个Koa后端项目脚手架的方法步骤
2019/05/30 Javascript
jQuery实现滑动开关效果
2020/08/02 jQuery
[30:00]完美世界DOTA2联赛PWL S2 Rebirth vs LBZS 第二场 11.28
2020/12/01 DOTA
用python读写excel的方法
2014/11/18 Python
windows 10下安装搭建django1.10.3和Apache2.4的方法
2017/04/05 Python
Python3实现抓取javascript动态生成的html网页功能示例
2017/08/22 Python
Python竟能画这么漂亮的花,帅呆了(代码分享)
2017/11/15 Python
Python OpenCV处理图像之图像像素点操作
2018/07/10 Python
python 实现A*算法的示例代码
2018/08/13 Python
python3正则模块re的使用方法详解
2020/02/11 Python
python语音识别指南终极版(有这一篇足矣)
2020/09/09 Python
一款html5 canvas实现的图片玻璃碎片特效
2014/09/11 HTML / CSS
Nordgreen英国官网:斯堪的纳维亚设计师手表
2018/10/24 全球购物
男女钓鱼靴和甲板鞋:XTRATUF
2021/01/09 全球购物
linux面试题参考答案(4)
2013/01/28 面试题
法学专业自我鉴定
2014/02/05 职场文书
五一劳动节活动记录
2014/03/23 职场文书
大学生社团活动总结
2014/04/26 职场文书
植树节口号
2014/06/21 职场文书
金融专业求职信
2014/08/05 职场文书
优秀共产党员演讲稿
2014/09/04 职场文书
董事长助理工作总结2015
2015/07/23 职场文书
2015年全民创业工作总结
2015/07/23 职场文书
java中为什么说子类的构造方法默认访问的是父类的无参构造方法
2022/04/13 Java/Android