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 相关文章推荐
js验证整数加保留小数点的简单实例
Dec 02 Javascript
jquery中post方法用法实例
Oct 21 Javascript
javascript操作字符串的原生方法
Dec 22 Javascript
jquery 设置style:display的方法
Jan 29 Javascript
11种ASP连接数据库的方法
Sep 18 Javascript
JavaScript代码轻松实现网页内容禁止复制(代码简单)
Oct 23 Javascript
懒加载实现的分页&amp;&amp;网站footer自适应
Dec 21 Javascript
Vuejs入门教程之Vue生命周期,数据,手动挂载,指令,过滤器
Apr 19 Javascript
vue仿淘宝订单状态的tab切换效果
Jun 23 Javascript
javascript闭包的使用之按钮切换功能
Aug 30 Javascript
vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作
Jul 27 Javascript
Vue中用JSON实现刷新界面不影响倒计时
Oct 26 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 api函数实现数组的交换排序示例
2014/04/13 PHP
Zend Framework上传文件重命名的实现方法
2016/11/25 PHP
JQuery获取样式中的background-color颜色值的问题
2013/08/20 Javascript
jquery 字符串切割函数substring的用法说明
2014/02/11 Javascript
PHP 数组current和next用法分享
2015/03/05 Javascript
jQuery点击按钮弹出遮罩层且内容居中特效
2015/12/14 Javascript
window.open打开窗口被拦截的快速解决方法
2016/08/04 Javascript
Angular JS数据的双向绑定详解及实例
2016/12/31 Javascript
Vue input控件通过value绑定动态属性及修饰符的方法
2017/05/03 Javascript
微信小程序-getUserInfo回调的实例详解
2017/10/27 Javascript
微信、QQ、微博、Safari中使用js唤起App
2018/01/24 Javascript
jQuery+css last-child实现选择最后一个子元素操作示例
2018/12/10 jQuery
JavaScript中window和document用法详解
2020/07/28 Javascript
DWR内存兼容及无法调用问题解决方案
2020/10/16 Javascript
python字符串加密解密的三种方法分享(base64 win32com)
2014/01/19 Python
python中xrange和range的区别
2014/05/13 Python
python获取list下标及其值的简单方法
2016/09/12 Python
Python3实现抓取javascript动态生成的html网页功能示例
2017/08/22 Python
matplotlib绘制动画代码示例
2018/01/02 Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
2018/04/28 Python
对命令行模式与python交互模式介绍
2018/05/12 Python
Python3中关于cookie的创建与保存
2018/10/21 Python
python内存动态分配过程详解
2019/07/15 Python
Python K最近邻从原理到实现的方法
2019/08/15 Python
基于python的docx模块处理word和WPS的docx格式文件方式
2020/02/13 Python
python将dict中的unicode打印成中文实例
2020/05/11 Python
使用html5+css3来实现slider切换效果告别javascript+css
2013/01/08 HTML / CSS
英国在线定做百叶窗网站:Make My Blinds
2020/08/17 全球购物
Boolean b = new Boolean(“abcde”); 会编译错误码
2013/11/27 面试题
高中生期末评语
2014/01/28 职场文书
工作态度不端正检讨书
2014/10/04 职场文书
村干部群众路线整改措施思想汇报
2014/10/12 职场文书
2015年万圣节活动总结
2015/03/24 职场文书
学校体育节班级口号
2015/12/25 职场文书
Python生成九宫格图片的示例代码
2021/04/14 Python
详解Python为什么不用设计模式
2021/06/24 Python