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中的calc函数浅析
Jul 10 HTML / CSS
css3的图形3d翻转效果应用示例
Apr 08 HTML / CSS
纯CSS3制作漂亮带动画效果的主机价格表
Apr 25 HTML / CSS
css3 pointer-events 介绍详解
Sep 18 HTML / CSS
CSS3 实现童年的纸飞机
May 05 HTML / CSS
CSS3 分类菜单效果
May 27 HTML / CSS
详解HTML5 Canvas绘制不规则图形时的非零环绕原则
Mar 21 HTML / CSS
html5生成柱状图(条形图)效果的实例代码
Mar 25 HTML / CSS
移动端HTML5实现文件上传功能【附代码】
Mar 25 HTML / CSS
详解canvas.toDataURL()报错的解决方案全都在这了
Mar 31 HTML / CSS
canvas小画板之平滑曲线的实现
Aug 12 HTML / CSS
HTML中的表单元素介绍
Feb 28 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中对数据库操作的封装
2006/10/09 PHP
php程序之die调试法 快速解决错误
2009/09/17 PHP
深入php-fpm的两种进程管理模式详解
2013/06/03 PHP
php简单浏览目录内容的实现代码
2013/06/07 PHP
PHP框架Laravel的小技巧两则
2015/02/10 PHP
Jquery iframe内部出滚动条
2010/02/11 Javascript
JQuery跨Iframe选择实现代码
2010/08/19 Javascript
为jQuery添加Webkit的触摸的方法分享
2014/02/02 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
2014/05/12 Javascript
深入探讨Vue.js组件和组件通信
2016/09/12 Javascript
jQuery的deferred对象使用详解
2016/09/25 Javascript
网站发布后Bootstrap框架引用woff字体无法正常显示的解决方法
2016/11/24 Javascript
Javascript 实现放大镜效果实例详解
2016/12/03 Javascript
JS简单封装的图片无缝滚动效果示例【测试可用】
2017/03/22 Javascript
JS实现异步上传压缩图片
2017/04/22 Javascript
浅谈在vue项目中如何定义全局变量和全局函数
2017/10/24 Javascript
AngularJs 禁止模板缓存的方法
2017/11/28 Javascript
使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析
2018/01/16 Javascript
微信小程序项目实践之主页tab选项实现
2018/07/18 Javascript
jQuery实现输入框的放大和缩小功能示例
2018/07/21 jQuery
react 原生实现头像滚动播放的示例
2020/04/21 Javascript
JS sort排序详细使用方法示例解析
2020/09/27 Javascript
[01:04:01]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第一场
2014/05/24 DOTA
python中引用与复制用法实例分析
2015/06/04 Python
Python多层嵌套list的递归处理方法(推荐)
2016/06/08 Python
Python3模拟登录操作实例分析
2019/03/12 Python
Python 3.8正式发布重要新功能一览
2019/10/17 Python
Python之Numpy的超实用基础详细教程
2019/10/23 Python
解决Pycharm中恢复被exclude的项目问题(pycharm source root)
2020/02/14 Python
python shapely.geometry.polygon任意两个四边形的IOU计算实例
2020/04/12 Python
日本运动品牌美津浓官方购物网站:MIZUNO SHOP
2016/08/21 全球购物
大学生创业感言
2014/01/25 职场文书
安全生产先进个人材料
2014/02/06 职场文书
2015年员工工作总结范文
2015/04/08 职场文书
三八节活动主持词
2015/07/04 职场文书
python编程简单几行代码实现视频转换Gif示例
2021/10/05 Python