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 浏览器检测代码精简版
Mar 04 Javascript
使用javascipt---实现二分查找法
Apr 10 Javascript
js改变img标签的src属性在IE下没反应的解决方法
Jul 23 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
Aug 12 Javascript
jQuery实现点击后标记当前菜单位置(背景高亮菜单)效果
Aug 22 Javascript
Jquery中使用show()与hide()方法动画显示和隐藏图片
Oct 08 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
Jan 12 Javascript
jQuery实现选项联动轮播效果【附实例】
Apr 19 Javascript
jQuery短信验证倒计时功能实现方法详解
May 25 Javascript
Canvas放置反弹效果随机图形(实例)
Aug 17 Javascript
百度地图去掉marker覆盖物或者去掉maker的label文字方法
Jan 26 Javascript
js实现盒子拖拽动画效果
Aug 09 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
laravel-admin的多级联动方法
2019/09/30 PHP
PHP用swoole+websocket和redis实现web一对一聊天
2019/11/05 PHP
php 使用html5 XHR2实现上传文件与进度显示功能示例
2020/03/03 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
文本加密解密
2006/06/23 Javascript
JavaScript高级程序设计 阅读笔记(二十一) JavaScript中的XML
2012/09/14 Javascript
JavaScript中使用指数方法Math.exp()的简介
2015/06/15 Javascript
浅谈jQuery.easyui的datebox格式化时间
2015/06/25 Javascript
jQuery实现简易的天天爱消除小游戏
2015/10/16 Javascript
jQuery鼠标悬浮链接弹出跟随图片实例代码
2016/01/08 Javascript
js实现select二级联动下拉菜单
2020/04/17 Javascript
第六章之辅组类与响应式工具
2016/04/25 Javascript
Bootstrap分页插件之Bootstrap Paginator实例详解
2016/10/15 Javascript
BootStrap整体框架之基础布局组件
2016/12/15 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
javascript+html5+css3自定义弹出窗口效果
2017/10/26 Javascript
Vue创建头部组件示例代码详解
2018/10/23 Javascript
ES6 Generator函数的应用实例分析
2019/06/26 Javascript
Vue中遍历数组的新方法实例详解
2019/07/21 Javascript
微信小程序getLocation 需要在app.json中声明permission字段
2020/03/03 Javascript
Vue自定义表单内容检查rules实例
2020/10/30 Javascript
讲解Python中fileno()方法的使用
2015/05/24 Python
python 读取摄像头数据并保存的实例
2018/08/03 Python
django模板加载静态文件的方法步骤
2019/03/01 Python
django页面跳转问题及注意事项
2019/07/18 Python
Django学习之文件上传与下载
2019/10/06 Python
python异常处理和日志处理方式
2019/12/24 Python
Django rest framework分页接口实现原理解析
2020/08/21 Python
英国网上购买肉类网站:Great British Meat
2018/10/17 全球购物
Ellos瑞典官网:北欧地区时尚、美容和住宅领域领先的电子商务网站
2019/11/21 全球购物
班风学风建设方案
2014/05/06 职场文书
政府班子四风问题整改措施
2014/10/04 职场文书
不服劳动仲裁起诉书
2015/05/20 职场文书
2016年世界人口日宣传活动总结
2016/04/05 职场文书
Java框架入门之简单介绍SpringBoot框架
2021/06/18 Java/Android
一次SQL如何查重及去重的实战记录
2022/03/13 MySQL