JavaScript+canvas实现七色板效果实例


Posted in Javascript onFebruary 18, 2016

本文实例讲述了JavaScript+canvas实现七色板效果。分享给大家供大家参考,具体如下:

效果图如下:

JavaScript+canvas实现七色板效果实例

html:

<canvas id="canvas" class="canvas" width="600" height="600"></canvas>

css:

html,body{margin: 0;padding: 0}
.canvas{display: block; margin-left:auto;margin-right:auto;margin-top: 50px;}

javascript:

var disk = [
    {
      area:[{x:0,y:0},{x:600,y:0},{x:300,y:300}],
      color:"#CBF263"
    },
    {
      area:[{x:0,y:0},{x:0,y:600},{x:300,y:300}],
      color:"#5CB6D0"
    },
    {
      area:[{x:0,y:600},{x:300,y:600},{x:150,y:450}],
      color:"#FE9CCD"
    },
    {
      area:[{x:150,y:450},{x:300,y:300},{x:450,y:450},{x:300,y:600}],
      color:"#A696C3"
    },
    {
      area:[{x:300,y:600},{x:600,y:600},{x:600,y:300}],
      color:"#FBC421"
    },
    {
      area:[{x:600,y:300},{x:600,y:0},{x:450,y:150},{x:450,y:450}],
      color:"#FF5061"
    },
    {
      area:[{x:450,y:450},{x:450,y:150},{x:300,y:300}],
      color:"#FDEA11"
    }
]
window.onload = function(){
    var canvasDom = document.getElementById("canvas");
    var ctx = canvasDom.getContext("2d");
    drawDisk(disk,ctx)
}
function drawDisk(disk,ctx){
    for(var i = 0;i<disk.length;i++){
      ctx.beginPath();
      ctx.moveTo(disk[i].area[0].x,disk[i].area[0].y);
      for(var j = 1;j<disk[i]["area"].length;j++){
        ctx.lineTo(disk[i].area[j].x,disk[i].area[j].y);
      }
      ctx.closePath();
      ctx.fillStyle = disk[i]["color"];
      ctx.fill();
    }
}

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

Javascript 相关文章推荐
javascript笔记 String类replace函数的一些事
Sep 22 Javascript
jquery取消选择select下拉框示例代码
Feb 22 Javascript
jquery判断元素是否隐藏的多种方法
May 06 Javascript
JavaScript 作用域链解析
Nov 13 Javascript
node-webkit打包成exe文件被360误报木马的解决方法
Mar 11 Javascript
js实现YouKu的漂亮搜索框效果
Aug 19 Javascript
基于jquery实现智能表单验证操作
May 09 Javascript
AngularJS 入门教程之事件处理器详解
Aug 19 Javascript
JS删除数组里的某个元素方法
Feb 03 Javascript
JS实现可切换图片的幻灯切换效果示例
May 24 Javascript
了解JavaScript中let语句
May 30 Javascript
VueCli4项目配置反向代理proxy的方法步骤
May 17 Javascript
javascript结合Flexbox简单实现滑动拼图游戏
Feb 18 #Javascript
Angular发布1.5正式版,专注于向Angular 2的过渡
Feb 18 #Javascript
iscroll.js的上拉下拉刷新时无法回弹的解决方法
Feb 18 #Javascript
javascript每日必学之条件分支
Feb 17 #Javascript
JavaScipt中栈的实现方法
Feb 17 #Javascript
Bootstrap入门书籍之(五)导航条、分页导航
Feb 17 #Javascript
Bootstrap入门书籍之(四)菜单、按钮及导航
Feb 17 #Javascript
You might like
哪吒敖丙传:新人物二哥敖乙出场 小敖丙奶气十足
2020/03/08 国漫
从网上搜到的phpwind 0day的代码
2006/12/07 PHP
基于php冒泡排序算法的深入理解
2013/06/09 PHP
Laravel框架表单验证详解
2014/09/04 PHP
Phpstorm+Xdebug断点调试PHP的方法
2018/05/14 PHP
实例介绍PHP删除数组中的重复元素
2019/03/03 PHP
PHP查找一列有序数组是否包含某值的方法
2020/02/07 PHP
JavaScript面向对象之体会[总结]
2008/11/13 Javascript
javascript 面向对象 function类
2010/05/13 Javascript
javascript确认框的三种使用方法
2013/12/17 Javascript
JS中FRAME的操作问题实例分析
2014/10/21 Javascript
JavaScript中的类与实例实现方法
2015/01/23 Javascript
用JS实现图片轮播效果代码(一)
2016/06/26 Javascript
利用10行js代码实现上下滚动公告效果
2017/12/08 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(上)
2018/04/18 Javascript
JQuery Ajax执行跨域请求数据的解决方案
2018/12/10 jQuery
js实现筛选功能
2020/11/24 Javascript
Python实现二分法算法实例
2015/02/02 Python
Python检测网站链接是否已存在
2016/04/07 Python
取numpy数组的某几行某几列方法
2018/04/03 Python
python获取文件真实链接的方法,针对于302返回码
2018/05/14 Python
对python 合并 累加两个dict的实例详解
2019/01/21 Python
python使用递归的方式建立二叉树
2019/07/03 Python
HTML5实现音频和视频嵌入的方法
2018/08/22 HTML / CSS
西班牙伏林航空公司:Vueling
2016/08/05 全球购物
校运会广播稿100字
2014/01/27 职场文书
平面设计求职信
2014/03/10 职场文书
小学优秀班集体申报材料
2014/05/25 职场文书
中专毕业生的自荐书
2014/07/01 职场文书
社保委托书怎么写
2014/08/02 职场文书
大学生自荐信范文
2015/03/05 职场文书
2015年学生会部门工作总结
2015/04/21 职场文书
小学数学教师研修感悟
2015/11/18 职场文书
驾驶员安全责任协议书
2016/03/22 职场文书
Vue如何实现组件间通信
2021/05/15 Vue.js
详解JVM系列之内存模型
2021/06/10 Javascript