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 刷新页面的代码小结 推荐
Apr 02 Javascript
Javascript面向对象扩展库代码分享
Mar 27 Javascript
JSF中confirm弹出框的用法示例介绍
Jan 07 Javascript
JavaScript蒙板(model)功能的简单实现代码
Aug 04 Javascript
详解用vue编写弹出框组件
Jul 04 Javascript
详解用node搭建简单的静态资源管理器
Aug 09 Javascript
vue router自动判断左右翻页转场动画效果
Oct 10 Javascript
AngularJS实现controller控制器间共享数据的方法示例
Oct 30 Javascript
axios发送post请求,提交图片类型表单数据方法
Mar 16 Javascript
vue生成token并保存到本地存储中
Jul 17 Javascript
layui prompt 设置允许空白提交的方法
Sep 24 Javascript
JS前端模块化原理与实现方法详解
Mar 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
用PHP生成html分页列表的代码
2007/03/18 PHP
php在线生成ico文件的代码
2007/10/09 PHP
支持数组的ADDSLASHES的php函数
2010/02/16 PHP
php图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
2010/12/02 PHP
mac下使用brew配置环境的步骤分享
2011/05/23 PHP
shopex中集成的站长统计功能的代码简单分析
2011/08/11 PHP
浅析php原型模式
2014/11/25 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
2016/03/21 PHP
php实现基于openssl的加密解密方法
2016/09/30 PHP
php指定长度分割字符串str_split函数用法示例
2017/01/30 PHP
PHP无限极分类函数的实现方法详解
2017/04/15 PHP
Yii框架创建cronjob定时任务的方法分析
2017/05/23 PHP
javascript操作cookie_获取与修改代码
2009/05/21 Javascript
一些技巧性实用js代码小结
2009/10/14 Javascript
jquery实现每个数字上都带进度条的幻灯片
2013/02/20 Javascript
javascript 上下banner替换具体实现
2013/11/14 Javascript
JQuery操作iframe父页面与子页面的元素与方法(实例讲解)
2013/11/20 Javascript
javascript实现控制文字大中小显示
2015/04/28 Javascript
15款最好的Bootstrap在线编辑器
2016/08/03 Javascript
利用node.js写一个爬取知乎妹纸图的小爬虫
2017/05/03 Javascript
JS开发中基本数据类型具体有哪几种
2017/10/19 Javascript
[02:51]DOTA2英雄基础教程 艾欧
2014/01/13 DOTA
python实现多线程的方式及多条命令并发执行
2016/06/07 Python
Python中__init__.py文件的作用详解
2016/09/18 Python
python os用法总结
2018/06/08 Python
对python中array.sum(axis=?)的用法介绍
2018/06/28 Python
计算机二级python学习教程(3) python语言基本数据类型
2019/05/16 Python
python实现邮件发送功能
2019/08/10 Python
关于HTML5你必须知道的28个新特性,新技巧以及新技术
2012/05/28 HTML / CSS
HTML5事件方法全部汇总
2016/05/12 HTML / CSS
德国的大型美妆个护电商:Flaconi
2020/06/26 全球购物
听课评语大全
2014/04/30 职场文书
文明单位汇报材料
2014/12/24 职场文书
为Java项目添加Redis缓存的方法
2021/05/18 Redis
怎么禁用Windows 11快照布局? win11不使用快照布局的技巧
2021/11/21 数码科技
MySQL 逻辑备份 into outfile
2022/05/15 MySQL