L'exemple de cet article décrit comment JavaScript+canvas obtient l'effet de tableau à sept couleurs. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
Le rendu est le suivant :
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(); } }
Les lecteurs intéressés par davantage de contenu lié à JavaScript peuvent consulter les sujets spéciaux sur ce site : "Résumé des effets spéciaux et des techniques d'animation JavaScript", "Résumé des techniques d'expansion JavaScript", "Résumé des effets et techniques de mouvement JavaScript", "Résumé de l'utilisation des opérations mathématiques JavaScript" et "Tutoriel d'introduction orienté objet Javascript"
J'espère que cet article sera utile à tout le monde dans la programmation JavaScript.