HTML5 canvas基本绘图之绘制五角星


Posted in HTML / CSS onJune 27, 2016

<canvas></canvas>是HTML5中新增的标签,用于绘制图形,实际上,这个标签和其他的标签一样,其特殊之处在于该标签可以获取一个CanvasRenderingContext2D对象,我们可以通过JavaScript脚本来控制该对象进行绘图。

<canvas></canvas>只是一个绘制图形的容器,除了id、class、style等属性外,还有height和width属性。在<canvas>>元素上绘图主要有三步:

1.获取<canvas>元素对应的DOM对象,这是一个Canvas对象;
2.调用Canvas对象的getContext()方法,得到一个CanvasRenderingContext2D对象;
3.调用CanvasRenderingContext2D对象进行绘图。

通过对五角星分析,我们可以确定各个顶点坐标的规律,这里需要注意的一点是:在canvas中,Y轴的方向是向下的。

HTML5 canvas基本绘图之绘制五角星

相应代码如下:

JavaScript Code复制内容到剪贴板
  1. var canvas = document.getElementById("canvas");   
  2.     var context = canvas.getContext("2d");   
  3.     context.beginPath();   
  4.     //设置是个顶点的坐标,根据顶点制定路径   
  5.     for (var i = 0; i < 5; i++) {   
  6.         context.lineTo(Math.cos((18+i*72)/180*Math.PI)*200+200,   
  7.                         -Math.sin((18+i*72)/180*Math.PI)*200+200);   
  8.         context.lineTo(Math.cos((54+i*72)/180*Math.PI)*80+200,   
  9.                         -Math.sin((54+i*72)/180*Math.PI)*80+200);   
  10.     }   
  11.     context.closePath();   
  12.     //设置边框样式以及填充颜色   
  13.     context.lineWidth="3";   
  14.     context.fillStyle = "#F6F152";   
  15.     context.strokeStyle = "#F5270B";   
  16.     context.fill();   
  17.     context.stroke();   
  18.   

最后效果:

HTML5 canvas基本绘图之绘制五角星

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

HTML / CSS 相关文章推荐
纯CSS3实现3D旋转书本效果
Mar 21 HTML / CSS
CSS3实现精美横向滚动菜单按钮
Apr 14 HTML / CSS
css3中的calc函数浅析
Jul 10 HTML / CSS
纯CSS实现右侧底部悬浮效果(悬浮QQ、微信、微博、邮箱等联系方式)
Apr 24 HTML / CSS
Android本地应用打开方法——通过html5写连接
Mar 11 HTML / CSS
html5新特性与用法大全
Sep 13 HTML / CSS
HTML5重塑Web世界它将如何改变互联网
Dec 17 HTML / CSS
html5 canvas绘制矩形和圆形的实例代码
Jun 16 HTML / CSS
canvas仿写贝塞尔曲线的示例代码
Dec 29 HTML / CSS
Html5写一个简单的俄罗斯方块小游戏
Dec 03 HTML / CSS
HTML5给汉字加拼音收起展开组件的实现代码
Apr 08 HTML / CSS
CSS3实现三角形不断放大效果
Apr 13 HTML / CSS
浅析HTML5中header标签的用法
Jun 24 #HTML / CSS
HTML5中使用postMessage实现两个网页间传递数据
Jun 22 #HTML / CSS
基于HTML5 的人脸识别活体认证的实现方法
Jun 22 #HTML / CSS
调用HTML5的Canvas API绘制图形的快速入门指南
Jun 17 #HTML / CSS
html5 canvas绘制矩形和圆形的实例代码
Jun 16 #HTML / CSS
浅谈html5增强的页面元素
Jun 14 #HTML / CSS
HTML5 新标签全部总汇(推荐)
Jun 13 #HTML / CSS
You might like
那些年一起学习的PHP(二)
2012/03/21 PHP
PHP批量上传图片的具体实现方法介绍.
2014/02/26 PHP
php使用fsockopen函数发送post,get请求获取网页内容的方法
2014/11/15 PHP
PHP CURL或file_get_contents获取网页标题的代码及两者效率的稳定性问题
2015/11/30 PHP
PHP生成静态HTML文档实现代码
2016/06/23 PHP
PHP巧妙利用位运算实现网站权限管理的方法
2017/03/12 PHP
js 图片缩放(按比例)控制代码
2009/05/27 Javascript
Js 导出table内容到Excel的简单实例
2013/11/19 Javascript
JavaScript数组方法大全(推荐)
2016/07/05 Javascript
js简单获取表单中单选按钮值的方法
2016/08/23 Javascript
JS中事件冒泡和事件捕获介绍
2016/12/13 Javascript
深入理解Javascript中的valueOf与toString
2017/01/04 Javascript
基于pako.js实现gzip的压缩和解压功能示例
2017/06/13 Javascript
JQuery和html+css实现带小圆点和左右按钮的轮播图实例
2017/07/22 jQuery
详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持
2017/10/21 Javascript
Dropify.js图片宽高自适应的方法
2017/11/27 Javascript
9个JavaScript日常开发小技巧
2020/10/06 Javascript
Python for Informatics 第11章之正则表达式(二)
2016/04/21 Python
Python语言描述机器学习之Logistic回归算法
2017/12/21 Python
django框架使用方法详解
2019/07/18 Python
Django的CVB实例详解
2020/02/10 Python
详解matplotlib绘图样式(style)初探
2021/02/03 Python
Django与AJAX实现网页动态数据显示的示例代码
2021/02/24 Python
美国波西米亚风格精品店:South Moon Under
2019/10/26 全球购物
大学生水文观测实习自我鉴定
2013/09/29 职场文书
校长竞聘演讲稿
2014/05/16 职场文书
竞选班长演讲稿500字
2014/08/22 职场文书
教师学期个人总结
2015/02/11 职场文书
煤矿百日安全活动总结
2015/05/07 职场文书
故意杀人案辩护词
2015/05/21 职场文书
2016年度优秀辅导员事迹材料
2016/02/26 职场文书
股东协议书范本2016
2016/03/21 职场文书
Go 实现英尺和米的简单单位换算方式
2021/04/29 Golang
Node-Red实现MySQL数据库连接的方法
2021/08/07 MySQL
安装Windows Server 2012 R2企业版操作系统并设置好相关参数
2022/04/29 Servers
MySQL主从切换的超详细步骤
2022/06/28 MySQL