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知识点之&quot;深入理解作用域链&quot;的介绍
Apr 23 Javascript
Javascript操作URL函数修改版
Nov 07 Javascript
当达到输入长度时表单自动切换焦点
Apr 06 Javascript
jQuery 中DOM 操作详解
Jan 13 Javascript
由浅入深讲解Javascript继承机制与simple-inheritance源码分析
Dec 13 Javascript
分享12个非常实用的JavaScript小技巧
May 11 Javascript
JS实现pasteHTML兼容ie,firefox,chrome的方法
Jun 22 Javascript
利用js定义一个导航条菜单
Mar 14 Javascript
js实现彩色条纹滚动条效果
Mar 15 Javascript
jQuery niceScroll滚动条错位问题的解决方法
Feb 03 jQuery
vue解决弹出蒙层滑动穿透问题的方法
Sep 22 Javascript
浅谈Angular单元测试总结
Mar 22 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
Linux Apache PHP Oracle 安装配置(具体操作步骤)
2013/06/17 PHP
PHP实现的汉字拼音转换和公历农历转换类及使用示例
2014/07/01 PHP
PHP根据key删除数组中指定的元素
2019/02/28 PHP
用javascript获得地址栏参数的两种方法
2006/11/08 Javascript
从JavaScript的函数重名看其初始化方式
2007/03/08 Javascript
JS 获取span标签中的值的代码 支持ie与firefox
2009/08/24 Javascript
详解Javascript 装载和执行
2014/11/17 Javascript
使用Plupload实现直接上传附件至七牛云存储
2014/12/26 Javascript
jQuery实现DIV层收缩展开的方法
2015/02/27 Javascript
各式各样的导航条效果css3结合jquery代码实现
2016/09/17 Javascript
JS实现的适合做faq或menu滑动效果示例
2016/11/17 Javascript
vue2.0结合DataTable插件实现表格动态刷新的方法详解
2017/03/17 Javascript
angular.js + require.js构建模块化单页面应用的方法步骤
2017/07/19 Javascript
JavaScript数据结构之双向链表和双向循环链表的实现
2017/11/28 Javascript
vue better-scroll插件使用详解
2018/01/25 Javascript
express默认日志组件morgan的方法
2018/04/05 Javascript
详解nuxt sass全局变量(公共scss解决方案)
2018/06/27 Javascript
Vue组件之单向数据流的解决方法
2018/11/10 Javascript
react用Redux中央仓库实现一个todolist
2019/09/29 Javascript
ES11屡试不爽的新特性,你用上了几个
2020/10/21 Javascript
Webpack的Loader和Plugin的区别
2020/11/09 Javascript
JavaScript实现H5接金币功能(实例代码)
2021/02/22 Javascript
Python中__name__的使用实例
2015/04/14 Python
Python实现程序判断季节的代码示例
2019/01/28 Python
Python增强赋值和共享引用注意事项小结
2019/05/28 Python
python3 assert 断言的使用详解 (区别于python2)
2019/11/27 Python
Python3监控疫情的完整代码
2020/02/20 Python
python 实现压缩和解压缩的示例
2020/09/22 Python
python中Pexpect的工作流程实例讲解
2021/03/02 Python
移动端适配 使px自动转换rem
2019/08/26 HTML / CSS
猫途鹰英国网站:TripAdvisor英国(旅游社区和旅游评论)
2016/08/30 全球购物
Tod’s英国官方网站:意大利奢华手工制作手袋和鞋履
2019/03/15 全球购物
写给女朋友的道歉信
2014/01/08 职场文书
干部现实表现材料
2014/02/13 职场文书
2014年销售工作总结与计划
2014/12/01 职场文书
2014年销售工作总结
2014/12/01 职场文书