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中的transform属性进行2D和3D变换的基本用法
May 12 HTML / CSS
用CSS3的box-reflect来制作倒影效果
Nov 15 HTML / CSS
CSS3实现文字描边的2种方法(小结)
Feb 14 HTML / CSS
使用HTML5 Canvas API中的clip()方法裁剪区域图像
Mar 25 HTML / CSS
详解Html5微信支付爬坑之路
Jul 24 HTML / CSS
HTML5 新表单类型示例代码
Mar 20 HTML / CSS
详解Canvas 跨域脱坑实践
Nov 07 HTML / CSS
手把手教你实现一个canvas智绘画板的方法
Mar 04 HTML / CSS
HTML5页面无缝闪开的问题及解决方案
Jun 11 HTML / CSS
html5的pushstate以及监听浏览器返回事件的实现
Aug 11 HTML / CSS
一个基于canvas的移动端图片编辑器的实现
Oct 28 HTML / CSS
Html5页面点击遮罩层背景关闭遮罩层
Nov 30 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
BBS(php &amp; mysql)完整版(一)
2006/10/09 PHP
PHP间隔一段时间执行代码的方法
2014/12/02 PHP
php实现遍历目录并删除指定文件中指定内容
2015/01/21 PHP
PHP中的数组处理函数实例总结
2016/01/09 PHP
Laravel框架查询构造器 CURD操作示例
2019/09/04 PHP
用javascript实现页面打印的三种方法
2007/03/05 Javascript
jQuery实现数秒后自动提交form的方法
2015/03/05 Javascript
JavaScript实现重置表单(reset)的方法
2015/04/02 Javascript
Javascript对象Clone实例分析
2015/06/09 Javascript
JS非Alert实现网页右下角“未读信息”效果弹窗
2015/09/26 Javascript
JavaScript在网页中画圆的函数arc使用方法
2015/11/13 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
2016/09/26 Javascript
详解Angular2组件之间如何通信
2017/06/22 Javascript
使用JavaScript实现点击循环切换图片效果
2017/09/03 Javascript
JS库之Waypoints的用法详解
2017/09/13 Javascript
AngularJS实现的省市二级联动功能示例【可对选项实现增删】
2017/10/26 Javascript
vue.js使用代理和使用Nginx来解决跨域的问题
2018/02/03 Javascript
vue.js实现标签页切换效果
2018/06/07 Javascript
解决vue this.$forceUpdate() 处理页面刷新问题(v-for循环值刷新等)
2018/07/26 Javascript
vue+moment实现倒计时效果
2019/08/26 Javascript
ES6 class类链式继承,实例化及react super(props)原理详解
2020/02/15 Javascript
vue-cli 关闭热更新操作
2020/09/18 Javascript
Python爬取数据并写入MySQL数据库的实例
2018/06/21 Python
Python设置在shell脚本中自动补全功能的方法
2018/06/25 Python
Python 数值区间处理_对interval 库的快速入门详解
2018/11/16 Python
用python给csv里的数据排序的具体代码
2020/07/17 Python
美国受欢迎的女性牛仔裤品牌:DL1961
2016/11/12 全球购物
伦敦剧院门票:From The Box Office
2018/06/30 全球购物
飞利浦法国官网:Philips法国
2019/07/10 全球购物
高中生国庆节演讲稿范文2014
2014/09/21 职场文书
老人节标语大全
2014/10/08 职场文书
建筑横幅标语
2014/10/09 职场文书
教师读书笔记
2015/06/29 职场文书
ThinkPHP5和ThinkPHP6的区别
2021/03/31 PHP
Appium中scroll和drag_and_drop根据元素位置滑动
2022/02/15 Python
MySQL数据库配置信息查看与修改方法详解
2022/06/25 MySQL