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实战第一波 让我们尽情的圆角吧
Aug 27 HTML / CSS
浅析rem和em和px vh vw和% 移动端长度单位
Apr 28 HTML / CSS
CSS3 box-sizing属性详解
Nov 15 HTML / CSS
CSS3的calc()做响应模式布局的实现方法
Sep 06 HTML / CSS
网页中的电话号码如何实现一键直呼效果_附示例
Mar 15 HTML / CSS
使用Html5、CSS实现文字阴影效果
Jan 17 HTML / CSS
input file上传文件样式支持html5的浏览器解决方案
Nov 14 HTML / CSS
html5中地理位置定位api接口开发应用小结
Jan 04 HTML / CSS
Html5中localStorage存储JSON数据并读取JSON数据的实现方法
Feb 13 HTML / CSS
使用phonegap获取位置信息的实现方法
Mar 31 HTML / CSS
使用Html5多媒体实现微信语音功能
Jul 26 HTML / CSS
HTML+CSS实现导航条下拉菜单的示例代码
Aug 02 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实现详细解析
2013/08/24 PHP
Zend Framework入门教程之Zend_Session会话操作详解
2016/12/08 PHP
PHP基于PDO调用sqlserver存储过程通用方法【基于Yii框架】
2017/10/07 PHP
php实现在线考试系统【附源码】
2018/09/18 PHP
40款非常棒的jQuery 插件和制作教程(系列二)
2011/11/02 Javascript
使用jquery.validate自定义方法实现"手机号码或者固话至少填写一个"的逻辑验证
2014/09/01 Javascript
Javascript highcharts 饼图显示数量和百分比实例代码
2016/12/06 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
2016/12/27 Javascript
彻底学会Angular.js中的transclusion
2017/03/12 Javascript
Angular2关于@angular/cli默认端口号配置的问题
2017/07/15 Javascript
解决vue中对象属性改变视图不更新的问题
2018/02/23 Javascript
基于Vuejs的搜索匹配功能实现方法
2018/03/03 Javascript
JavaScript引用类型Array实例分析
2018/07/24 Javascript
vue+vant-UI框架实现购物车的复选框全选和反选功能
2019/11/05 Javascript
JavaScript canvas实现文字时钟
2021/01/10 Javascript
[01:44]《为梦想出发》—联想杯DOTA2完美世界全国高校联赛
2015/09/30 DOTA
[01:28:24]NAVI vs VG Supermajor 败者组 BO3 第三场 6.5
2018/06/06 DOTA
全面解读Python Web开发框架Django
2014/06/30 Python
Python的净值数据接口调用示例分享
2016/03/15 Python
Python安装第三方库及常见问题处理方法汇总
2016/09/13 Python
浅谈python中的占位符
2017/11/09 Python
Python 切分数组实例解析
2019/11/07 Python
python pip安装包出现:Failed building wheel for xxx错误的解决
2019/12/25 Python
Python命令行参数定义及需要注意的地方
2020/11/30 Python
菲律宾旅游网站:Expedia菲律宾
2017/10/11 全球购物
临床医学专业个人的自我评价
2013/09/27 职场文书
大学生全国两会报告感想
2014/03/17 职场文书
合作意向书范本
2014/03/31 职场文书
男女朋友协议书
2014/04/23 职场文书
幼儿园区域活动总结
2014/05/08 职场文书
个人查摆剖析材料
2014/10/04 职场文书
2014年业务员工作总结范文
2014/11/17 职场文书
2016抗战胜利71周年红领巾广播稿
2015/12/18 职场文书
廉政党课工作报告案例
2019/06/21 职场文书
不会写演讲稿,快来看看这篇文章!
2019/08/06 职场文书
vue3种table表格选项个数的控制方法
2022/04/14 Vue.js