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
jQuery 隔行换色 支持键盘上下键,按Enter选定值
Aug 02 Javascript
javascript实现iframe框架延时加载的方法
Oct 30 Javascript
JavaScript中数组去除重复的三种方法
Apr 22 Javascript
深入理解JavaScript中的call、apply、bind方法的区别
May 30 Javascript
JS实现css hover操作的方法示例
Apr 07 Javascript
Js实现中国公民身份证号码有效性验证实例代码
May 03 Javascript
Vue.js数据绑定之data属性
Jul 07 Javascript
基于vue打包后字体和图片资源失效问题的解决方法
Mar 06 Javascript
一文了解vue-router之hash模式和history模式
May 31 Javascript
JS回调函数原理与用法详解【附PHP回调函数】
Jul 20 Javascript
Openlayers测量距离与面积的实现方法
Sep 25 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
制作美丽的拉花
2021/03/03 冲泡冲煮
用libtemplate实现静态网页生成
2006/10/09 PHP
php在服务器执行exec命令失败的解决方法
2012/03/03 PHP
PHP封装CURL扩展类实例
2015/07/28 PHP
Yii2框架引用bootstrap中日期插件yii2-date-picker的方法
2016/01/09 PHP
Yii列表定义与使用分页方法小结(3种方法)
2016/07/15 PHP
基于PHP实现微信小程序客服消息功能
2019/08/12 PHP
JavaScript窗口功能指南之在窗口中书写内容
2006/07/21 Javascript
一些实用的jQuery代码片段收集
2011/07/12 Javascript
jQuery中die()方法用法实例
2015/01/19 Javascript
JavaScript学习笔记之JS对象
2015/01/22 Javascript
Bootstrap每天必学之导航
2015/11/26 Javascript
JS中的==运算: [''] == false —&gt;true
2016/07/24 Javascript
JavaScript学习笔记整理_setTimeout的应用
2016/09/19 Javascript
js数字计算 误差问题的快速解决方法
2017/02/28 Javascript
nodejs集成sqlite使用示例
2017/06/05 NodeJs
浅谈react 同构之样式直出
2017/11/07 Javascript
20个必会的JavaScript面试题(小结)
2019/07/02 Javascript
es6中let和const的使用方法详解
2020/02/24 Javascript
linux 下实现python多版本安装实践
2014/11/18 Python
Python在线运行代码助手
2016/07/15 Python
python中datetime模块中strftime/strptime函数的使用
2018/07/03 Python
python跳过第一行快速读取文件内容的实例
2018/07/12 Python
通过pycharm使用git的步骤(图文详解)
2019/06/13 Python
Python模拟FTP文件服务器的操作方法
2020/02/18 Python
Pytorch实现将模型的所有参数的梯度清0
2020/06/24 Python
python中slice参数过长的处理方法及实例
2020/12/15 Python
html5时钟实现代码
2010/10/22 HTML / CSS
粉红色的鲸鱼:Vineyard Vines
2018/02/17 全球购物
大学生职业生涯规划书模板
2014/01/18 职场文书
网上开店必备创业计划书
2014/01/26 职场文书
遵纪守法演讲稿
2014/05/23 职场文书
个人纪律作风整改措施思想汇报
2014/10/12 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
个人原因辞职信模板
2015/05/13 职场文书
Django中的JWT身份验证的实现
2021/05/07 Python