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;而不是直接打开
Aug 15 Javascript
JavaScript高级程序设计 读书笔记之十 本地对象Date日期
Feb 27 Javascript
js实现身份证号码验证的简单实例
Feb 19 Javascript
JavaScript将取代AppleScript?
Sep 18 Javascript
jquery实现页面关键词高亮显示的方法
Mar 12 Javascript
Javascript递归打印Document层次关系实例分析
May 15 Javascript
浅谈Angular2 模块懒加载的方法
Oct 04 Javascript
js 两个日期比较相差多少天的实例
Oct 19 Javascript
dropload.js插件下拉刷新和上拉加载使用详解
Oct 20 Javascript
JavaScript实现简单动态进度条效果
Apr 06 Javascript
layui实现把数据表格时间戳转换为时间格式的例子
Sep 12 Javascript
node创建Vue项目步骤详解
Mar 06 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 header函数分析详解
2011/08/06 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
2015/04/14 PHP
Zend Framework入门教程之Zend_Mail用法示例
2016/12/08 PHP
php+iframe 实现上传文件功能示例
2020/03/04 PHP
用JavaScript实现单继承和多继承的简单方法
2009/03/29 Javascript
javascript hashtable实现代码
2009/10/13 Javascript
Javascript 自定义类型方法小结
2010/03/02 Javascript
中国地区三级联动下拉菜单效果分析
2012/11/15 Javascript
js怎么终止程序return不行换jfslk
2013/05/30 Javascript
JS获取url链接字符串 location.href
2013/12/23 Javascript
深入学习jQuery Validate表单验证
2016/01/18 Javascript
vue动态组件实现选项卡切换效果
2017/03/08 Javascript
使用Math.max,Math.min获取数组中的最值实例
2017/04/25 Javascript
js实现鼠标拖拽多选功能示例
2017/08/01 Javascript
JavaScript 中的 this 简单规则
2017/09/19 Javascript
从vue源码解析Vue.set()和this.$set()
2018/08/30 Javascript
微信小程序使用Vant Weapp组件库的方法步骤
2019/08/01 Javascript
javascript实现弹幕墙效果
2019/11/28 Javascript
详解在IDEA中将Echarts引入web两种方式(使用js文件和maven的依赖导入)
2020/07/11 Javascript
Python使用代理抓取网站图片(多线程)
2014/03/14 Python
python映射列表实例分析
2015/01/26 Python
安装Python和pygame及相应的环境变量配置(图文教程)
2017/06/04 Python
基于python 等频分箱qcut问题的解决
2020/03/03 Python
对python中各个response的使用说明
2020/03/28 Python
anaconda安装pytorch1.7.1和torchvision0.8.2的方法(亲测可用)
2021/02/01 Python
iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配
2020/04/08 HTML / CSS
美国专营婴幼儿用品的购物网站:buybuy BABY
2017/01/01 全球购物
销售总监工作职责
2013/11/21 职场文书
解除劳动合同协议书范本
2014/04/14 职场文书
建筑工程技术专业求职信
2014/07/16 职场文书
小学学校门卫岗位职责
2014/08/03 职场文书
中国在我心中演讲稿
2014/09/13 职场文书
婚庆答谢词
2015/01/04 职场文书
撤诉申请怎么写
2015/05/19 职场文书
历史博物馆观后感
2015/06/05 职场文书
导游词之麻姑仙境
2019/11/18 职场文书