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扩展技巧总结》、《JavaScript运动效果与技巧汇总》、《JavaScript数学运算用法总结》及《javascript面向对象入门教程》

希望本文所述对大家JavaScript程序设计有所帮助。

以上是 JavaScript+canvas实现七色板效果实例 的全部内容, 来源链接: utcz.com/z/337534.html

回到顶部