js+canvas绘制五角星的方法


Posted in Javascript onJanuary 28, 2016

本文实例讲述了js+canvas绘制五角星的方法。分享给大家供大家参考,具体如下:

运行效果截图如下:

js+canvas绘制五角星的方法

具体代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>canvas绘制五角星 </title>
  <script type="text/javascript" >
    window.onload = function () {
      var canvas = document.getElementById("canvas");
      if (canvas) {
        var context = canvas.getContext("2d");
        drawStar(context, 50, 100, 100);
      } else {
        document.writeln("浏览器不支持canvas组件");
      }
    }
    function drawStar(context, r, x, y) {
      context.lineWidth = 5;
      context.beginPath();
      var dit = Math.PI * 4 / 5;
      var sin = Math.sin(0) * r + y;
      var cos = Math.cos(0) * r + x;
      console.log(0+":"+0);
      context.moveTo(cos, sin);
      for (var i = 0; i < 5; i++) {
        var tempDit = dit * i;
        sin = Math.sin(tempDit) * r + y;
        cos = Math.cos(tempDit) * r + x;
        context.lineTo(cos, sin);
        console.log(sin+":"+sin+":"+tempDit);
      }
      context.closePath();
      context.strokeStyle = "red";
      context.fillStyle = "#DDDDDD";
      context.fill();
    }
  </script>
</head>
<body>
<canvas id="canvas" ></canvas>
</body>
</html>

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
对于this和$(this)的个人理解
Sep 08 Javascript
使用jquery解析XML的方法
Sep 05 Javascript
借助FileReader实现将文件编码为Base64后通过AJAX上传
Dec 24 Javascript
BootStrap入门教程(三)之响应式原理
Sep 19 Javascript
数组Array的一些方法(总结)
Feb 17 Javascript
JavaScript无缝滚动效果的实例代码
Mar 27 Javascript
AngularJs每天学习之总体介绍
Aug 07 Javascript
JavaScript代码调试方法实例小结
Jan 05 Javascript
node实现mock-plugin中间件的方法
Dec 25 Javascript
vue简单封装axios插件和接口的统一管理操作示例
Feb 02 Javascript
js验证账户名是否重复
May 26 Javascript
微信小程序实现上传照片代码实例解析
Aug 04 Javascript
js+html5实现的自由落体运动效果代码
Jan 28 #Javascript
js判断上传文件后缀名是否合法
Jan 28 #Javascript
Angular中$compile源码分析
Jan 28 #Javascript
实例讲解JS中setTimeout()的用法
Jan 28 #Javascript
jQuery+canvas实现的球体平抛及颜色动态变换效果
Jan 28 #Javascript
jQuery+canvas实现简单的球体斜抛及颜色动态变换效果
Jan 28 #Javascript
基于javascript实现动态显示当前系统时间
Jan 28 #Javascript
You might like
人族 Terran 魔法与科技
2020/03/14 星际争霸
如何在symfony中导出为CSV文件中的数据
2011/10/06 PHP
PHP获取文件扩展名的4种方法
2015/11/24 PHP
编写PHP脚本来实现WordPress中评论分页的功能
2015/12/10 PHP
WordPress中用于获取文章作者与分类信息的方法整理
2015/12/17 PHP
PHP用PDO如何封装简单易用的DB类详解
2017/07/30 PHP
php获取微信共享收货地址的方法
2017/12/21 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
浅谈Javascript嵌套函数及闭包
2010/11/09 Javascript
getJSON调用后台json数据时函数被调用两次的原因猜想
2013/09/29 Javascript
js实现图片点击左右轮播
2015/07/08 Javascript
Nodejs全局安装和本地安装的不同之处
2016/07/04 NodeJs
功能强大的Bootstrap使用手册(一)
2016/08/02 Javascript
微信小程序 Buffer缓冲区的详解
2017/07/06 Javascript
react-router browserHistory刷新页面404问题解决方法
2017/12/29 Javascript
vue 使用axios 数据请求第三方插件的使用教程详解
2019/07/05 Javascript
JS 数组基本用法入门示例解析
2020/01/16 Javascript
vue 封装 Adminlte3组件的实现
2020/03/18 Javascript
浅谈Vue 函数式组件的使用技巧
2020/06/16 Javascript
Element InputNumber 计数器的实现示例
2020/08/03 Javascript
vue 公共列表选择组件,引用Vant-UI的样式方式
2020/11/02 Javascript
[09:33]2015国际邀请赛第四日TOP10
2015/08/08 DOTA
安装Python和pygame及相应的环境变量配置(图文教程)
2017/06/04 Python
python制作简单五子棋游戏
2019/06/18 Python
python3.6生成器yield用法实例分析
2019/08/23 Python
Python itertools.product方法代码实例
2020/03/27 Python
django表单中的按钮获取数据的实例分析
2020/07/31 Python
Python 调用C++封装的进一步探索交流
2021/03/04 Python
Dr.Jart+美国官网:韩国药妆品牌
2019/01/18 全球购物
C/C++ 笔试、面试题目大汇总
2015/11/21 面试题
工厂实习感言
2014/01/14 职场文书
电子商务个人职业生涯规划范文
2014/02/12 职场文书
2015年保送生自荐信
2015/03/24 职场文书
员工考勤管理制度
2015/08/06 职场文书
网络研修随笔感言
2015/11/18 职场文书
Python实现学生管理系统并生成exe可执行文件详解流程
2022/01/22 Python