本文實例講述了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程式設計有所幫助。