Draw a Rounded Star in an HTML5 canvas
HTML
<canvas id='canvas' width='200' height='200' />
CSS
canvas {
background-color: #333
}
JavaScript
var canv = document.getElementById('canvas');
var contx = canv.getContext('2d');
contx.clearRect(0, 0, canv.width, canv.height);
function drawAFunnyStar(ctx, x, y, np, rad1, rad2, alpha0) {
var angleinit = - Math.PI / np - Math.PI / 2 + alpha0;
ctx.beginPath();
ctx.moveTo(x + rad2 * Math.cos(angleinit), y + rad2 * Math.sin(angleinit));
for (var i = 0; i <= np; i++) {
var angle1 = 2 * i * Math.PI / np - Math.PI / 2 + alpha0;
var angle2 = (2 * i + 1) * Math.PI / np - Math.PI / 2 + alpha0;
ctx.quadraticCurveTo(x + rad1 * Math.cos(angle1), y + rad1 * Math.sin(angle1),
x + rad2 * Math.cos(angle2), y + rad2 * Math.sin(angle2));
}
}
drawAFunnyStar(contx, 50, 50, 12, 60, 40, 0);
contx.strokeStyle = "#bada55";
contx.fillStyle = "#bada55";
contx.lineWidth = 2;
contx.stroke();
//contx.fill();