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 相关文章推荐
CSS3解决移动页面上点击链接触发色块的问题
Jun 03 HTML / CSS
Web页面中八种创建多列等高(等高列布局)的实现技术
Dec 24 HTML / CSS
使用简单的CSS3属性实现炫酷读者墙效果
Jan 08 HTML / CSS
详解CSS3的perspective属性设置3D变换距离的方法
May 23 HTML / CSS
HTML5 本地存储实现购物车功能
Sep 07 HTML / CSS
Html5剪切板功能的实现代码
Jun 29 HTML / CSS
html5 application cache遇到的严重问题
Dec 26 HTML / CSS
使用HTML5做个画图板的方法介绍
May 03 HTML / CSS
HTML5注册表单的自动聚焦与占位文本示例代码
Jul 19 HTML / CSS
一款利用html5和css3动画排列人物头像的实例演示
Dec 05 HTML / CSS
HTML5新增的8类INPUT输入类型介绍
Jul 06 HTML / CSS
canvas实现二维码和图片合成的示例代码
Aug 01 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
教你如何用php实现LOL数据远程获取
2014/06/10 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
PHP children()函数讲解
2019/02/03 PHP
php+redis实现消息队列功能示例
2019/09/19 PHP
JavaScript调用客户端的可执行文件(示例代码)
2013/11/28 Javascript
javascript中parentNode,childNodes,children的应用详解
2013/12/17 Javascript
jQuery如何实现点击页面获得当前点击元素的id或其他信息
2014/01/09 Javascript
jquery禁用右键示例
2014/04/28 Javascript
整理Javascript流程控制语句学习笔记
2015/11/29 Javascript
基于javascript实现动态时钟效果
2020/08/18 Javascript
关于JS 预解释的相关理解
2016/06/28 Javascript
基于Bootstrap和jQuery构建前端分页工具实例代码
2016/11/23 Javascript
微信小程序 es6-promise.js封装请求与处理异步进程
2017/06/12 Javascript
Angular2+如何去除url中的#号详解
2017/12/20 Javascript
Angular简单验证功能示例
2017/12/22 Javascript
vue使用Element组件时v-for循环里的表单项验证方法
2018/06/28 Javascript
nuxt中使用路由守卫的方法步骤
2019/01/27 Javascript
Vue+webpack实现懒加载过程解析
2020/02/17 Javascript
[01:08:10]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS LGD-CDEC
2014/05/22 DOTA
python动态性强类型用法实例
2015/05/09 Python
详解Python中expandtabs()方法的使用
2015/05/18 Python
初步讲解Python中的元组概念
2015/05/21 Python
详解Python多线程
2016/11/14 Python
Python随机生成手机号、数字的方法详解
2017/07/21 Python
Python函数装饰器实现方法详解
2018/12/22 Python
python爬取cnvd漏洞库信息的实例
2019/02/14 Python
python适合人工智能的理由和优势
2019/06/28 Python
在django view中给form传入参数的例子
2019/07/19 Python
网页布局中CSS样式无效的十个重要原因详解
2017/08/10 HTML / CSS
吃透移动端 Html5 响应式布局
2019/12/16 HTML / CSS
Corelle官方网站:购买康宁餐具
2016/11/02 全球购物
澳大利亚购买最佳炊具品牌网站:Cookware Brands
2019/02/16 全球购物
关于廉洁的广播稿
2014/01/30 职场文书
县政府领导班子四风问题对照检查材料思想汇报
2014/09/26 职场文书
只用Python就可以制作的简单词云
2021/06/07 Python