Canvas How to - Draw rainbow circle








Question

We would like to know how to draw rainbow circle.

Answer


<!DOCTYPE html>
<html>
<head>
<script type='text/javascript'>//<![CDATA[ 
window.onload=function(){<!--from w w w .  j  a va2s .com-->
    var canvas = document.getElementById("picker");
    var context = canvas.getContext("2d");
    var x = canvas.width / 2;
    var y = canvas.height / 2;
    var radius = 100;
    var counterClockwise = false;
    for(var angle=0; angle<=360; angle+=1){
        var startAngle = (angle-1)*Math.PI/180;
        var endAngle = angle * Math.PI/180;
        context.beginPath();
        context.moveTo(x, y);
        context.arc(x, y, radius, startAngle, endAngle, counterClockwise);
        context.closePath();
        context.fillStyle = 'hsl('+angle+', 100%, 50%)';
        context.fill();
    }
}//]]>  
</script>
</head>
<body>
  <canvas id="picker" width="300" height="300"></canvas>
</body>
</html>

The code above is rendered as follows: