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 相关文章推荐
CSS中垂直居中的简单实现方法
Jul 06 HTML / CSS
详解CSS3中使用gradient实现渐变效果的方法
Aug 18 HTML / CSS
CSS3圆角和渐变2种常用功能详解
Jan 06 HTML / CSS
CSS3的 fit-content实现水平居中
Sep 07 HTML / CSS
Grid 宫格常用布局的实现
Jan 10 HTML / CSS
css3遮罩层镂空效果的多种实现方法
May 11 HTML / CSS
HTML5实现Notification API桌面通知功能
Mar 02 HTML / CSS
基于HTML5 Canvas 实现弹出框效果
Jun 05 HTML / CSS
websocket+sockjs+stompjs详解及实例代码
Nov 30 HTML / CSS
HTML5 Canvas标签使用收录
Jul 07 HTML / CSS
HTML5全屏(Fullscreen)API详细介绍
Apr 24 HTML / CSS
浅谈HTML5中dialog元素尝鲜
Oct 15 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
dede3.1分页文字采集过滤规则详说(图文教程)
2007/04/03 PHP
php获取301跳转URL简单实例
2013/12/16 PHP
PHP5.5在windows安装使用memcached服务端的方法
2014/04/16 PHP
Yii2实现同时搜索多个字段的方法
2016/08/10 PHP
PHP观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
laravel 解决Validator使用中出现的问题
2019/10/25 PHP
再谈javascript图片预加载技术(详细演示)
2011/03/12 Javascript
javascript中2个感叹号的用法实例详解
2014/09/04 Javascript
javascript实现textarea中tab键的缩排处理方法
2015/06/26 Javascript
用svg制作富有动态的tooltip
2015/07/17 Javascript
使用jQuery调用XML实现无刷新即时聊天
2016/08/07 Javascript
Node.js中看JavaScript的引用
2017/04/22 Javascript
JS ES6多行字符串与连接字符串的表示方法
2017/04/26 Javascript
详解Angular2 之 结构型指令
2017/06/21 Javascript
安装vue-cli报错 -4058 的解决方法
2017/10/19 Javascript
JS计算两个时间相差分钟数的方法示例
2018/01/10 Javascript
JavaScript插入排序算法原理与实现方法示例
2018/08/06 Javascript
详解vuejs2.0 select 动态绑定下拉框支持多选
2019/04/25 Javascript
javascript的this关键字详解
2019/05/20 Javascript
node读写Excel操作实例分析
2019/11/06 Javascript
js实现页面图片消除效果
2020/03/24 Javascript
Python基础教程之正则表达式基本语法以及re模块
2016/03/25 Python
Python科学计算之Pandas详解
2017/01/15 Python
Python实现矩阵加法和乘法的方法分析
2017/12/19 Python
Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】
2018/12/05 Python
Python基于百度云文字识别API
2018/12/13 Python
python 实现12bit灰度图像映射到8bit显示的方法
2019/07/08 Python
Python自动化测试笔试面试题精选
2020/03/12 Python
详解HTML5新增标签
2017/11/27 HTML / CSS
土木工程毕业生推荐信
2013/10/28 职场文书
大二学期个人自我评价
2014/01/13 职场文书
医学专业毕业生求职信
2014/06/20 职场文书
二人合伙经营协议书
2014/09/13 职场文书
教务处教学工作总结
2015/08/10 职场文书
2016重阳节红领巾广播稿
2015/12/18 职场文书
写作之关于描写老人的好段摘抄
2019/11/14 职场文书