A canvas bezierCurveTo example

function canvasReady() {
  drawShape(document.getElementById('canvas'));
}
function drawShape(canvas){
  // get the canvas element using the DOM

  // Make sure we don't execute when canvas isn't supported
  if (canvas.getContext){

    // use getContext to use the canvas for drawing
    var ctx = canvas.getContext('2d');

    // Draw shapes
      ctx.translate(-10, 5);
      ctx.scale(1.2, 0.8);
      ctx.rotate(5 * Math.PI / 180);

    ctx.beginPath();
    ctx.moveTo(75,40);
    ctx.bezierCurveTo(75,37,70,25,50,25);
    ctx.bezierCurveTo(20,25,20,62.5,20,62.5);
    ctx.bezierCurveTo(20,80,40,102,75,120);
    ctx.bezierCurveTo(110,102,130,80,130,62.5);
    ctx.bezierCurveTo(130,62.5,130,25,100,25);
    ctx.bezierCurveTo(85,25,75,37,75,40);
    ctx.fill();

  } else {
    alert('You need Safari or Firefox 1.5+ to see this demo.');
  }
}