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实现控制台控件的代码
Sep 04 Javascript
SWFObject Flash js调用类
Jul 08 Javascript
杨氏矩阵查找的JS代码
Mar 21 Javascript
使用js实现数据格式化
Dec 03 Javascript
JavaScript函数使用的基本教程
Jun 04 Javascript
Hammer.js+轮播原理实现简洁的滑屏功能
Feb 02 Javascript
Bootstrap学习笔记之css样式设计(1)
Jun 07 Javascript
基于HTML+CSS+JS实现增加删除修改tab导航特效代码
Aug 05 Javascript
JQuery实现图片轮播效果
May 08 jQuery
在 webpack 中使用 ECharts的实例详解
Feb 05 Javascript
对vuejs的v-for遍历、v-bind动态改变值、v-if进行判断的实例讲解
Aug 27 Javascript
微信小程序自定义toast的实现代码
Nov 16 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
PHP5.2下chunk_split()函数整数溢出漏洞 分析
2007/06/06 PHP
解析crontab php自动运行的方法
2013/06/24 PHP
PHP下 Mongodb 连接远程数据库的实例代码
2017/08/30 PHP
PHP面向对象程序设计(OOP)之方法重写(override)操作示例
2018/12/21 PHP
Laravel 集成微信用户登录和绑定的实现
2019/12/27 PHP
js获取指定日期前后的日期代码
2013/08/20 Javascript
jquery-syntax动态语法着色示例代码
2014/05/14 Javascript
javascript中attachEvent用法实例分析
2015/05/14 Javascript
jQuery CSS3相结合实现时钟插件
2016/01/08 Javascript
逻辑表达式中与或非的用法详解
2016/06/06 Javascript
jQuery实现表格行和列的动态添加与删除方法【测试可用】
2016/08/01 Javascript
jQuery 常见小例汇总
2016/12/14 Javascript
javascript正则表达式模糊匹配IP地址功能示例
2017/01/06 Javascript
vue+VeeValidate 校验范围实例详解(部分校验,全部校验)
2018/10/19 Javascript
Vue中Table组件Select的勾选和取消勾选事件详解
2019/03/19 Javascript
使用纯前端JavaScript实现Excel导入导出方法过程详解
2020/08/07 Javascript
Vue绑定用户接口实现代码示例
2020/11/04 Javascript
利用Python实现颜色色值转换的小工具
2016/10/27 Python
利用Python实现网络测试的脚本分享
2017/05/26 Python
TensorFLow用Saver保存和恢复变量
2018/03/10 Python
PyTorch 1.0 正式版已经发布了
2018/12/13 Python
Python目录和文件处理总结详解
2019/09/02 Python
使用python实现kNN分类算法
2019/10/16 Python
python 创建一维的0向量实例
2019/12/02 Python
django-csrf使用和禁用方式
2020/03/13 Python
Python 爬虫的原理
2020/07/30 Python
python super()函数的基本使用
2020/09/10 Python
Html5页面中的返回实现的方法
2018/02/26 HTML / CSS
LUISAVIAROMA德国官网:时尚奢侈品牌购物网站
2020/11/12 全球购物
电气自动化个人求职信范文
2014/02/03 职场文书
《两只鸟蛋》教学反思
2014/02/10 职场文书
《猴子种树》教学反思
2014/02/14 职场文书
2015年毕业生自我鉴定模板
2014/09/19 职场文书
师范生教育见习总结
2015/06/23 职场文书
公司考勤管理制度
2015/08/04 职场文书
药品销售员2015年终工作总结
2015/10/22 职场文书