Define a gradient with multiple addColorStop()
methods:
<!DOCTYPE html> <html> <body> <canvas id="myCanvas" width="300" height="180" style="border:1px solid #d3d3d3;"> Your browser does not support the HTML5 canvas tag.</canvas> <script> var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d"); var grd = ctx.createLinearGradient(0, 0, 170, 0); grd.addColorStop(0, "black"); grd.addColorStop("0.3", "magenta"); grd.addColorStop("0.5", "blue"); grd.addColorStop("0.6", "green"); grd.addColorStop("0.8", "yellow"); grd.addColorStop(1, "red"); ctx.fillStyle = grd;//from w ww . ja va 2s . c o m ctx.fillRect(20, 20, 150, 100); </script> </body> </html>