Comment faire pour supprimer un objet de la toile?

J'ai fais ce script qui va faire tourner une aiguille sur un compte-tours à l'aide de la toile. Je suis un newbie à cette toile. C'est mon code:

function startup() {
  var canvas = document.getElementById('canvas');
  var context = canvas.getContext('2d');
  var meter = new Image();
  meter.src = 'background.png';
  var pin = new Image();
  pin.src = 'needle.png';
  context.drawImage(meter,0,0);
  context.translate(275,297);
  for (var frm = 0; frm < 6000; frm++){
    var r=frm/1000;               //handle here                                
    var i=r*36-27;  //angle of rotation from value of r and span
    var angleInRadians = 3.14159265 * i/180;  //converting degree to radian                
    context.rotate(angleInRadians); //rotating by angle
    context.drawImage(pin,-250,-3);  //adjusting pin center at meter center
  }
}

Voici le script en action:

http://www.kingoslo.com/instruments/

Le problème est, comme vous pouvez le voir, que l'aiguille rouge n'est pas supprimé entre chaque boucle for.

Ce que je dois faire est de nettoyer la toile pour la broche objet entre chaque cycle de la boucle. Comment puis-je faire cela?

Grâce.

Salutations,

Marius

Note que bien que un conservé le mode de dessin système—comme le HTML ou le SVG—maintient des objets spécifiques liés aux éléments dessinés, un non retenu le mode de dessin système—comme du Canvas HTML—ne. Avec SVG, vous pouvez modifier les éléments ou documents après le fait et l'ont redessiner; avec Canvas HTML vous devez garder une trace de tous les objets vous-même et de redessiner ce que vous avez besoin si vous voulez changer la sortie.

OriginalL'auteur Mikkel Rev | 2010-12-26