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 相关文章推荐
图片自动更新(说明)
Oct 02 Javascript
Express.JS使用详解
Jul 17 Javascript
javascript动态修改Li节点值的方法
Jan 20 Javascript
AngularJS模块学习之Anchor Scroll
Jan 19 Javascript
JavaScript String 对象常用方法总结
Apr 28 Javascript
JS hashMap实例详解
May 26 Javascript
js中常用的Tab切换效果(推荐)
Aug 30 Javascript
javascript对浅拷贝和深拷贝的详解
Oct 14 Javascript
Vue 实现列表动态添加和删除的两种方法小结
Sep 07 Javascript
JS实现移动端在线签协议功能
Aug 22 Javascript
JavaScript JSON使用原理及注意事项
Jul 30 Javascript
Javascript Symbol原理及使用方法解析
Oct 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
模拟SQLSERVER的两个函数:dateadd(),datediff()
2006/10/09 PHP
跟我学Laravel之视图 &amp; Response
2014/10/15 PHP
PHP变量赋值、代入给JavaScript中的变量
2015/06/29 PHP
PHP中header函数的用法及其注意事项详解
2016/06/13 PHP
php获取指定数量随机字符串的方法
2017/02/06 PHP
Javascript 对象的解释
2008/11/24 Javascript
javascript实现的像java、c#之类的sleep暂停的函数代码
2010/03/04 Javascript
jQuery示例收集
2010/11/05 Javascript
javascript中怎么做对象的类型判断
2013/11/11 Javascript
javascript调试之DOM断点调试法使用技巧分享
2014/04/15 Javascript
JavaScript中的值类型转换介绍
2014/12/31 Javascript
js编写的treeview使用方法
2016/11/11 Javascript
简单的JS控制button颜色随点击更改的实现方法
2017/04/17 Javascript
解决vue admin element noCache设置无效的问题
2019/11/12 Javascript
[01:34:42]NAVI vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
写了个监控nginx进程的Python脚本
2012/05/10 Python
Python中threading模块join函数用法实例分析
2015/06/04 Python
Python中Django框架利用url来控制登录的方法
2015/07/25 Python
Python将文本去空格并保存到txt文件中的实例
2018/07/24 Python
Jupyter notebook 远程配置及SSL加密教程
2020/04/14 Python
Python接口开发实现步骤详解
2020/04/26 Python
Python 如何批量更新已安装的库
2020/05/26 Python
python实现图片转字符画的完整代码
2021/02/21 Python
美国家具网站:Cymax
2016/09/17 全球购物
选购国际女性时装设计师品牌:IFCHIC(支持中文)
2018/04/12 全球购物
WoolOvers澳洲官方网站:英国针织服装公司
2018/05/13 全球购物
美国全球旅游运营商:Pacific Holidays
2018/06/18 全球购物
英国排名第一的餐具品牌:Denby Pottery
2019/11/01 全球购物
澳大利亚在线批发商:Simply Wholesale
2021/02/24 全球购物
全球性的众包图形设计市场:DesignCrowd
2021/02/02 全球购物
班队活动设计方案
2014/01/30 职场文书
安全生产中长期规划实施方案
2014/02/21 职场文书
公司授权委托书
2014/10/17 职场文书
民主生活会主持词
2015/07/01 职场文书
Node实现搜索框进行模糊查询
2021/06/28 Javascript
Python闭包的定义和使用方法
2022/04/11 Python