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中的border-radius(边框圆角)示例代码
Jul 19 HTML / CSS
css3实现超炫风车特效
Nov 12 HTML / CSS
css3实现3d旋转动画特效
Mar 10 HTML / CSS
CSS3的resize属性使用初探
Sep 27 HTML / CSS
如何使用css3实现一个类在线直播的队列动画的示例代码
Jun 17 HTML / CSS
html5指南-1.html5全局属性(html5 global attributes)深入理解
Jan 07 HTML / CSS
IE10 Error.stack 让脚本调试更加方便快捷
Apr 22 HTML / CSS
HTML5 中新的全局属性(整理)
Jul 31 HTML / CSS
HTML5 虚拟键盘出现挡住输入框的解决办法
Feb 14 HTML / CSS
canvas中普通动效与粒子动效的实现代码示例
Jan 03 HTML / CSS
HTML5触摸事件(touchstart、touchmove和touchend)的实现
May 08 HTML / CSS
CSS 新特性 contain控制页面的重绘与重排问题
Apr 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
php数据库连接时容易出错的特殊符号问题
2010/09/01 PHP
PHP 强制下载文件代码
2010/10/24 PHP
PHP数组对比函数,存在交集则返回真,否则返回假
2011/02/03 PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
2014/09/29 PHP
PHP实现二维数组根据key进行排序的方法
2016/12/30 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
2020/04/23 PHP
asp.net网站开发中用jquery实现滚动浏览器滚动条加载数据(类似于腾讯微博)
2012/03/14 Javascript
js实现图片旋转的三种方法
2014/04/10 Javascript
浅谈EasyUI中Treegrid节点的删除
2015/03/01 Javascript
javascript实现超炫的向上滑行菜单实例
2015/08/03 Javascript
jQuery扩展+xml实现表单验证功能的方法
2016/12/25 Javascript
jquery横向纵向鼠标滚轮全屏切换
2017/02/27 Javascript
JavaScript简单计算人的年龄示例
2017/04/15 Javascript
微信小程序中hidden不生效原因的解决办法
2017/04/26 Javascript
bootstrap模态框示例代码分享
2017/05/17 Javascript
原生js 封装get ,post, delete 请求的实例
2017/08/11 Javascript
Node 自动化部署的方法
2017/10/17 Javascript
setTimeout时间设置为0详细解析
2018/03/13 Javascript
[00:32]2018DOTA2亚洲邀请赛出场——VP
2018/04/04 DOTA
Python中使用md5sum检查目录中相同文件代码分享
2015/02/02 Python
Python检测字符串中是否包含某字符集合中的字符
2015/05/21 Python
python3实现域名查询和whois查询功能
2018/06/21 Python
Python SMTP发送邮件遇到的一些问题及解决办法
2018/10/24 Python
对python中的try、except、finally 执行顺序详解
2019/02/18 Python
Giglio德国网上精品店:奢侈品服装和配件
2016/09/23 全球购物
美国南部最大的家族百货公司:Belk
2017/01/30 全球购物
John Varvatos官方网站:设计师男士时装
2017/02/08 全球购物
美国最大的香水出口:FragranceX.com
2017/11/04 全球购物
如何删除一个表里面的重复行
2013/07/13 面试题
军校大学生个人的自我评价
2014/02/17 职场文书
2014年班组长工作总结
2014/11/20 职场文书
小学一年级学生评语大全
2014/12/25 职场文书
大学辅导员述职报告
2015/01/10 职场文书
服装店员工管理制度
2015/08/07 职场文书
MySQL中rank() over、dense_rank() over、row_number() over用法介绍
2022/03/23 MySQL
redis protocol通信协议及使用详解
2022/07/15 Redis