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 相关文章推荐
修改jquery里的dialog对话框插件为框架页(iframe) 的方法
Sep 14 Javascript
工作需要写的一个js拖拽组件
Jul 28 Javascript
Tab页界面 用jQuery及Ajax技术实现(php后台)
Oct 12 Javascript
javascript实现倒计时(精确到秒)
Jun 26 Javascript
浅谈JavaScript中的string拥有方法的原因
Aug 28 Javascript
javascript类型系统 Window对象学习笔记
Jan 07 Javascript
JQuery动态添加Select的Option元素实现方法
Aug 29 Javascript
jQuery简单创建节点的方法
Sep 09 Javascript
VueJS全面解析
Nov 10 Javascript
js正则相关知识点专题
May 10 Javascript
初探Vue3.0 中的一大亮点Proxy的使用
Dec 06 Javascript
js实现无刷新监听URL的变化示例代码详解
Jun 03 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
PHP编写RESTful接口
2016/02/23 PHP
thinkphp5框架扩展redis类方法示例
2019/05/06 PHP
php接口隔离原则实例分析
2019/11/11 PHP
jquery dialog键盘事件代码
2010/08/01 Javascript
JavaScript 错误处理与调试经验总结
2010/08/10 Javascript
非常有用的40款jQuery 插件推荐(系列二)
2011/12/25 Javascript
jQuery学习总结之jQuery事件
2014/06/30 Javascript
JavaScript自动点击链接 防止绕过浏览器访问的方法
2017/01/19 Javascript
js oncontextmenu事件使用详解
2017/03/25 Javascript
JS实现仿UC浏览器前进后退效果的实例代码
2017/07/17 Javascript
jQuery中的$是什么意思及 $. 和 $().的区别
2018/04/20 jQuery
Javascript中parseInt的正确使用方式
2018/10/17 Javascript
vue中更改数组中属性,在页面中不生效的解决方法
2019/10/30 Javascript
为react组件库添加typescript类型提示的方法
2020/06/15 Javascript
vue 解决无法对未定义的值,空值或基元值设置反应属性报错问题
2020/07/31 Javascript
javascript操作向表格中动态加载数据
2020/08/27 Javascript
[02:12]打造更好的电竞完美世界:完美盛典回顾篇
2018/12/19 DOTA
python的id()函数解密过程
2012/12/25 Python
深入Python函数编程的一些特性
2015/04/13 Python
Python利用openpyxl库遍历Sheet的实例
2018/05/03 Python
Ubuntu18.04下python版本完美切换的解决方法
2019/06/14 Python
详解Django定时任务模块设计与实践
2019/07/24 Python
python 用户交互输入input的4种用法详解
2019/09/24 Python
Django 项目布局方法(值得推荐)
2020/03/22 Python
Python测试框架:pytest学习笔记
2020/10/20 Python
HTML5 新事件 小结
2009/07/16 HTML / CSS
HTML5样式控制示例代码
2013/11/27 HTML / CSS
Microsoft新加坡官方网站:购买微软最新软件和技术产品
2016/10/28 全球购物
Cole Haan官方网站:美国时尚潮流品牌
2017/12/06 全球购物
亚马逊加拿大网站:Amazon.ca
2020/01/06 全球购物
财务人员个人求职信范文
2013/12/04 职场文书
往来会计岗位职责
2013/12/19 职场文书
教师节促销活动方案
2014/02/14 职场文书
CSS3 实现的图片悬停的切换按钮
2021/04/13 HTML / CSS
MySQL 常见存储引擎的优劣
2021/06/02 MySQL
Mysql如何实现不存在则插入,存在则更新
2022/03/25 MySQL